- Ruby 100%
| examples | ||
| src | ||
| Gemfile | ||
| Gemfile.lock | ||
| LICENSE | ||
| README.md | ||
foxchitter
This my experimental Chitter interpreter written in Ruby.
Chitter is a programming language, specifically a "catlang" (batlang), designed and developed by my girlfriend Iris. You'll find it to be a cute little stack-based scripting language with a small set of dynamic types. Here's a tiny example program that I quite like:
99 { DUP OUT " bottles of beer on the wall" PRINT DEC }> 99 FOR
"no more bottles of beer on the wall" PRINT
As for this interpreter, I chose Ruby because I wanted to learn it, and I chose Chitter because I really like it, and I also like my girlfriend, obviously.
I've gone to some effort to keep the code organized, obvious, and well-documented. Ideally, it should be readable/understandable for various other users.
Usage is pretty straightforward: $ ruby src/chitter.rb <files...>
There is also a REPL available if you don't pass any files.
TODO:
make arrays copy themselves eg. for reopening or(test to make sure this actually works)a[ 1 2 3 ]>- finish implementing the various built-in functions
- make the repl nicer and add a CLI with flags
- debugger would be nice
- a test suite to verify the behaviour, especially against the reference interpreter