Skip to content

Instantly share code, notes, and snippets.

@deciode
Created August 5, 2013 13:11
Show Gist options
  • Save deciode/6155815 to your computer and use it in GitHub Desktop.
Save deciode/6155815 to your computer and use it in GitHub Desktop.
msm=->s{s=[*s.chars];(e=s.shift;e==?;?s<<s[-1]:e==?:?s.concat(s.pop.split''):e==?,?s.pop: e==?/?s.insert(-2,s.pop):e==?.?s<<s.pop+s.pop: s<<(e!=?'?e:s.shift))while s[1];s}
@plugnburn
Copy link

I'm too weak for such a challenge (esolang-per-day) but the idea seems good. :-D That's just a bunch of minimal syntax/minimal interpreter thoughts collected in da brain that suddenly got implemented one by one.

As for MSM, the most interesting question for me is whether it is Turing-complete. I feel that a subset of Underload can be implemented in MSM but I don't know for sure if it will reduce to the one among those subsets proven to be Turing-complete, so this question is open.
As for Myth and Impera, they are isomorphic to Thue (more exactly, PROLAN/M) and Minsky machine respectively, so their Turing-completeness is obvoius.

As for future ideas... i have one to absolutely minimize the number of instructions and symbols and put a very damn simple principle behind it, but ain't sure if the result will be Turing-complete or usable at all. >_<

@plugnburn
Copy link

Updated the implementation and article with new ? instruction, time to update your port ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment