Labyrinth
Labyrinth was created by me, Martin Büttner, in August 2015.
It is two-dimensional stack-based programming language, in which programs resemble mazes. It operates on two stacks of signed arbitrary-precision integers. Control flow is determined by the layout of the maze - whenever the instruction pointer hits a junction it decides which way to take based on the top of the main stack.
Labyrinth also comes with a unique form of source code manipulation (at runtime): the four commands >^<v cyclically shift a single row or column by one cell. This mechanic was inspired by the German board game Das verrückte Labyrinth.
The language is pretty much feature complete, except that I'm still thinking about assigning some function to the unused characters [ and ]. Suggestions are very welcome!
Despite fairly simple (and usable) mechanics, the language turns out to be quite interesting to golf.
- GitHub repository. Includes interpreter (Ruby), language specification, example programs and issue tracker.
- Esolangs page. Largely a copy of the README.md on GitHub.
- Try it online!Try it online! (by Dennis) backed by the Ruby interpreter.