Arc Forumnew | comments | leaders | submitlogin
How to get Arc quickly running in under four steps (
4 points by urs2102 1066 days ago | 11 comments

4 points by rocketnia 1065 days ago | link

Thanks for putting up with the installation instructions you found, and thanks for trying to make life easier for the next person. :)

The instructions at /install are actually more than six years out of date. As of August 2009 (, Arc officially stopped depending on MzScheme 372. Shortly after that, the official releases of the language ran dry, and the Arc website (this website) entered a more preservational mode of maintenance. It even preserves those obsolete instructions!

Development of Arc continues thanks to unofficial efforts like yours. The most up-to-date material for Arc newcomers is on a community-maintained website:


2 points by urs2102 1063 days ago | link

Thanks rocketnia - sorry I was afk for a few days. I had no idea that installation details changed. Is it possible to update the instructions on /install? I may update my setup to install racket first. Thanks!


1 point by akkartik 1061 days ago | link

Sadly nobody here has access to official arc or this forum :/


3 points by akkartik 1065 days ago | link

Some gotchas to be aware of with arc 3.1:

In particular the second issue will cause random failures so it's worth guarding against. The stable branch of anarki has it along with a few other crucial bugfixes to arc 3.1.


2 points by urs2102 1063 days ago | link

Great - I was wondering, what is the specific difference between the anarki branch and arc 3.1 provided at /install?


2 points by rocketnia 1062 days ago | link

Anarki's "stable" branch is Arc 3.1 plus 15 extra commits (so far). There's a list of all the commits here:

I actually thought there were more crucial bug fixes on this branch, like akkartik said, but it seems that the rest of the commits are various improvements to Arc's usability from editors and from the command line.

Here's a holistic summary of the changes, so you don't have to trudge through the commits one by one:

- Adds a CHANGES/ directory which is supposed to host a summary of changes like this one. Anarki's master branch makes use of this directory, but so far it's been neglected on the stable branch. (I should probably add this list to it!)

- Adds an extras/ directory containing Vim and Emacs extensions.

- Adds, a nicer way to run Arc from the command line. (Many of the other changes were made to support this.)

- Doesn't display the REPL when stdin is not interactive. (

- Outputs error messages to stderr rather than stdout. (

- Makes it possible to execute Arc at the command line from directories other than the Arc directory. (

- Interprets command line arguments as filenames of Arc scripts to load. (

- Fixes a bug where mutating a list would sometimes fail depending on the state of the garbage collector. (


2 points by akkartik 1061 days ago | link

Thanks for that list! Maybe we should point people to the stable branch rather than vanilla arc 3.1 at

Edit 1 hour later: Check out the updated frontpage. Feel free to revert or ask me to do so.


2 points by zck 1066 days ago | link

Interesting. How many people have you gotten into Arc? You mention that you "found it difficult to explain to beginners how to get an Arc REPL up and running".

Arc 3.1 actually doesn't require an old version of mzscheme -- you can just use racket, and start it with `racket -f as.scm`. And no, the instructions on this site don't say anything about that.

Anarki also has a nice quickstart (


2 points by urs2102 1063 days ago | link

zck: I would probably say about ten to fifteen people. I was working on designing a LISP/ML like language which had a lot of similarities to Arc, so I went on a bit of an Arc binge and showed it to a bunch of friends at school. I found that it was a little difficult for some people to set up.

Does Arc 3.1 run properly though on MzScheme 372 or does it need to run on Racket?


2 points by rocketnia 1062 days ago | link

"Does Arc 3.1 run properly though on MzScheme 372 or does it need to run on Racket?"

The only problem I've had running on MzScheme 372 is that it can be awkward to track down documentation for that version. Newer versions sometimes have more features available.

Arc doesn't have all the I/O primitives that Racket has -- Racket has an almost ridiculous variety of primitives for file manipulation, sockets, garbage collection, delimited continuations, FFI, concurrency, UI, etc. -- so Arc programmers have often hacked on the language implementation to support their applications. This hacking happens in Racket (aka MzScheme), so having a nice version of Racket is helpful.


2 points by zck 1063 days ago | link

That's awesome that you've introduced it to that many people. I haven't really been able to get people interested more than tangentially. Good for you.

>Does Arc 3.1 run properly though on MzScheme 372 or does it need to run on Racket?

I haven't tried running it on MzScheme 372; once I could just use the most recent version of Racket, I decided to just do that. It seems easier than staying on an old version.