- Arc (programming language)
Infobox programming language
name = Arc
file_ext = .arc
paradigm = multi-paradigm: functional, procedural, reflective
year = 29 January 2008
Paul Grahamand Robert Morris
latest_release_version = 0.1
latest_release_date = 29 January 2008
typing = dynamic, strong
influenced = Anarki
Cross-platform, runs on the MzSchemeinterpreter
license = Perl Foundation's
Artistic License 2.0
website = http://arclanguage.org/
Arc is a dialect of the
Lisp programming languagenow under development by Paul Grahamand Robert Morris.
In 2001 Paul Graham announced [ [http://www.paulgraham.com/arcll1.html Arc at 3 Weeks (Paul Graham)] ] that he was working on a new dialect of Lisp named "Arc". Over the years since, he has written several essays describing features or goals of the language, and some internal projects at
Y Combinatorhave been written in Arc, most notably the Hacker News [ [http://news.ycombinator.com Hacker News] ] web forum and news aggregator program.
In the essay Being Popular [ [http://www.paulgraham.com/popular.html Essay:Being Popular] ] Graham describes a few of his goals for the language. Among the claimed design goals are that "Arc should be hackable" and "there should be good libraries"; Graham also proposes:
It would not be far from the truth to say that a hacker about to write a program decides what language to use, at least subconsciously, based on the total number of characters he'll have to type. If this isn't precisely how hackers think, a language designer would do well to act as if it were.
Paul Graham suggests
John McCarthy's original Lispto have been built wholly on a small set of "axioms", and maintains that Arc ought to be constructed in a similar way, even when that means the language may not have features that large organizations want. Specifically, Graham feels that object-orientation is not useful as OO methods and patterns are just "good design," and he sees the language features used to implement OO as partially mistaken. [ [http://www.paulgraham.com/noop.html Why Arc Isn't Especially Object-Oriented] ] [ [http://www.paulgraham.com/arcfaq.html Arc FAQ] ]
A controversy among Lisp programmers is if, and how much, the
S-expressionsof the language should be complemented by other forms of syntax. Graham feels that additional syntax should be used in situations where pure S-expressions would be overly verbose, saying, "I don't think we should be religiously opposed to introducing syntax into Lisp." Graham also feels that efficiency problems should be solved by giving the programmer a good profiler.
The first publicly released version of Arc was made available on Tuesday, 29 January 2008 [ [http://paulgraham.com/arc0.html Arc's Out (29 January 2008)] ] . The release comes in the form of a .tar archive, containing the mzscheme source code for Arc. A tutorial [ [http://ycombinator.com/arc/tut.txt tutorial] ] and a discussion forum [ [http://arclanguage.org/forum discussion forum] ] are also available. The forum is copied from news.ycombinator.com and is itself written in Arc.
The initial version has caused some controversy, notably by supporting no other
character setbeside ASCII, and shipping with a built-in Web developmentlibrary that bases its layout on HTML tables. This, combined with the hypesurrounding Arc and its generally slow development pace, has gathered some unfavorable comments [ [http://reddit.com/r/programming/info/6710p/comments/ Reddit: Arc's Out] ] .
The Unofficial Fork
Due to the slow development of the official Arc branch, the Arc community has started its own unofficial fork [ [http://github.com/nex3/arc/tree/master Anarki Repository on Github] ] , sometimes referred to as Anarki. Anarki was started to continue development after many members of the community came to feel that the development of Arc centralized under Paul Graham had become stagnant. The Anarki version of Arc has two branches: a stable branch that stays as close to official distribution as possible, with just bug fixes and minor feature additions; and an experimental branch which has much more drastic modifications and additions to Paul Graham's version.
This is not a formal forking of Arc, as there is still a desire to keep just one version of Arc. At the same time, the community wanted to see development on Arc continue, which didn't appear to be happening; Paul Graham was not giving any guidance or commentary to the community about the roadmap for Arc.
Paul Graham has recently mentioned [ [http://arclanguage.com/item?id=7933 PG: "I'll have a good deal of time to work on Arc..." ] ] that he may continue development once again in October-November 2008.
* [http://news.ycombinator.com/item?id=32766 Latest news from Y Combinator]
* [http://arclanguage.org/ Arc website]
* [http://www.paulgraham.com/arcfaq.html Arc FAQ]
* [http://arcfn.com/ arcfn.com] , documentation / discussion on arc and anarki
* [http://practical-scheme.net/wiliki/arcxref practical-scheme.net/wiliki/arcxref] an arc wiki
* [http://www.paulgraham.com/hundred.html The Hundred-Year Language] , an essay
Wikimedia Foundation. 2010.