GoSNUSP
SNUSP is a “two-dimensional” esolanguage.
This code implement a Core, Modular and Bloated SNUSP interpreter in the Go programming language.
Github.io page could contain a reference, in case you won't take a look at the given links (why not?)… Actually the page is just a test, and likely it will stay as it is forever (but never say never — though there's not tooo much to say about SNUSP you can't find elsewhere, and written better…)
Links and resources
The repository contains also examples taken here and there. Other useful links or alike:
- SNUSP on c2 Wiki
- Implementation of SNUSP interpreters on RosettaCode. The C interpreter should be mine; cfr. also snuspi on sourceforge (but moved here on GitHub)
- Examples on RosettaCode
- John Bauman's esoteric language page talks of SNUSP; he claims he has written the first complete full Bloated SNUSP interpreter — currently, following the link raises a server error. It should be this one
Notes
- not fully tested (yet?)
- Modular SNUSP (which is the default) comes in two “flavours”; I call the second flavour twisted — which is now the default. If a modular SNUSP code does not work, try
-twist=false
flag… (examples in the SNUSP page on esolangs.org are all “twisted”). If the code does not work anyway, you have found a bug — it would be nice if you let me know.- The difference between twisted and untwisted Modular SNUSP is in how the Enter (
@
) and Leave (#
) command behave. Details in the code (sorry) and explicative example on the blog.
- The difference between twisted and untwisted Modular SNUSP is in how the Enter (
- current memory cell value should be given as program return code? It is not (yet?)
- I am a Go absolute beginner
Maybe-wanted features
- Join for Bloated SNUSP?