These are toy implementations around small, esoteric languages, written in Go.
A language built around string substitution.
https://en.wikipedia.org/wiki/Thue_(programming_language)
a::=hello
hello::=~Hello from Thue!
::=
a
github.com/jmhobbs/little-machines/thue is an interpreter
usage: thue [options] <program file>
-print-state
print the state when execution stops
A small language with only 8 commands, encoded as the characters >, <, +, -, ., ,, [, and ]
https://en.wikipedia.org/wiki/Brainfuck
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
github.com/jmhobbs/little-machines/brainfuck/cmd/bf is an interpreter
usage: bf [options] <program file>
-memory-size uint
number of memory cells to use (default 300)
github.com/jmhobbs/little-machines/brainfuck/cmd/bf2go takes a program on stdin and converts it to Go source on stdout
usage: bf2go [options]
-memory-size uint
number of memory cells to use (default 300)
Ook! is identical to Brainfuck, but the instructions are "Orangutan" words (i.e. Ook! Ook?)
https://esolangs.org/wiki/Ook!
github.com/jmhobbs/little-machines/brainfuck/cmd/ook is an interpreter
usage: ook [options] <program file>
-memory-size uint
number of memory cells to use (default 300)