Arc is a dialect of Lisp by Paul Graham and Robert Morris. It is used to power sites such as Hacker News and the Arc Forum.

However, the latest arc3.1 hasn't been updated in some time, and is missing a couple of critical bugfixes. Please use anarki to avoid getting strange segfaults. Anybody can add changes, and it makes no compatibility guarantees (neither does arc3.1) but we'll help you if you run into problems.

Try Arc in your web browser (no installation necessary).

If you like what you see, there are step-by-step instructions for installing Arc. (Instructions at the site are out of date.)

About this wiki, including how to get write access.

Documentation

Community

The Arc Forum, a small but dedicated group of Arc enthusiasts who, in addition to being technically gifted, are also helpful and friendly. We collaborate on a wiki-like fork of arc with bugfixes and new features: Anarki.

The Arc Forum does not have built in search support, but a good way to find what you want is by googling this way:
site:arclanguage.org mysearchphrase

Libraries

Lathe, a collection of utility libraries by Ross Angle.


http://awwx.ws/, hacks by Andrew Wilcox.

Arc on other operating systems and runtimes

Arc has inspired several distinct dialects. For some rationales by their authors, see Why did you write your programming language?

Android

Semi-Arc is Arc on Android.

C

Arcueid is an implementation of the Arc runtime in pure ANSI C. It is intended to have a simple API allowing it to interface with C libraries easily, and also allow Arc to be used as an embeddable scripting environment for C/C++ programs. Currently unfinished and in development.

C++

Wart, a short and thoroughly unit-tested arc-like interpreter. Key features: first-class macros (fexprs), python-style keyword args and cleaner syntax. All language primitives can be extended or even redefined entirely. The primary goal is to be super easy to understand and modify.

Java
Racket

Arc/Nu: rewrite of Arc 3.1 with more features, more speed, and bug fixes. Still compatible with Arc 3.1.

The Arc runtime project, intended to be a new implementation of the Arc runtime in Racket with goals of fixing bugs and making Arc even more hackable; currently unfinished and in development.

Comments