arc in java
Arc Java Scheme Other
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


To download and build rainbow and open a REPL:

  git clone git://
  cd rainbow
  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.