git clone git://github.com/conanite/rainbow
cd rainbow
chmod 755 rainbow.sh
./rainbow.sh
This will build rainbow (using ant) and start an interactive arc shell. Requires java 5 and ant on your path. If you get this far without everything breaking down, try the following arc> (load "unit.arc")
nil
arc> (load "foundation-test.arc")
#hash((passed . 258) (failed . 0))
nil
"foundation-test.arc" is a suite of tests that I originally ran using junit, the java testing tool of choice for many. But later, I found it easier to run them directly from the arc console.(nsv) works, as far as I can tell - I can create posts and comments, but I haven't pushed it all the way yet. Please note that I'm a complete lisp n00b - my only experience is from poking around with my .emacs file years ago, and reading Godel, Escher, Bach many years prior to that. Rainbow is probably full of terrible misunderstandings, and my primary goal in building it was to get a grasp of how lisp works (in particular, continuations, tail-call optimisation, and macros - completely alien stuff in javaland where I'm from). In particular, the following areas are implemented dubiously or not at all: - complex numbers (not at all) - escape sequences in strings (\n and \" but no others) - disp and write probably don't behave as differently as they should - disp makes a special case for strings but that's about all - certain math operations always return a real number (eg sqrt) - Arc returns a rational where possible - some macro expansion still happens at runtime - continuations can be re-entered in a different thread - don't know if this is supposed to be possible, although it seems useful. - optional arguments work at the top level ... but I haven't even tried optionals nested deep inside a destructuring params list - Java expects you to decide whether you want characters or bytes when you open a stream, whereas arc seems to allow mixed character and byte access. This might give rise to horrible bugs. - other stuff that I haven't thought of The excellent documentation work by kens at http://arcfn.com helped enormously in producing this. good luck, and enjoy ... |