conanite / Rainbow
Programming Languages
To download and build rainbow and open a REPL:
git clone git://github.com/conanite/rainbow.git cd rainbow ant ant # yes, twice. The second time uses rainbow to generate optimisations of itself cd src/arc java -server -jar rainbow.jar
Make sure you have ant installed, including the optional libraries. On ubuntu or similar,
sudo apt-get install ant ant-optional
On macosx, ant comes with the Developer Tools.
Rainbow comes with a small number of sample apps that demonstrate how to access java from arc.
Welder, an arc IDE:
arc> (welder "rainbow/welder.arc")
A filesystem browser that opens files in welder
arc> (fsb)
Play tetris:
arc> (tetris)
Play minesweeper:
arc> (mines)
A web application that plots z <- z^2 + c, the Mandelbrot formula:
arc> (start-spiral-app)
Run all tests:
arc> (rat) passed: 409 failed: 0
Run benchmark suite:
arc> (rbs)
You should see a report at the end resembling this:
avg min max
arc-code-indexer 201.845 173 353 find-top-numbers 63.815 61 78 generate-primes 31.105 30 37 read-arc-dot-arc-content 33.195 29 90 sort-random-numbers 90.66 84 121 string-tokeniser 89.6 83 152
Profile invocation counts and times for a function:
arc> (profiler (repeat 5 (tokens (rand-string 1000) #\0)))
Rainbow command-line options: -f file1 ... fileN # evaluate each file -e '(arc axpr)' # evaluate arc expr (after having evaluated -f, if specified) -args a b c # sets "argv" in the arc environment to (a b c). This option, if present, must be specified last. -q # no REPL --no-libs # don't load any arc libraries. Not even arc.arc.