Skip to content
arc in java
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit 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.
You can’t perform that action at this time.