Arc (programming language)
From Wikipedia, the free encyclopedia
Arc | |
---|---|
Paradigm | multi-paradigm: functional, procedural, reflective |
Designed by | Paul Graham, Robert Morris |
Developer | Paul Graham, Robert Morris |
Typing discipline | dynamic, strong |
Arc is a dialect of Lisp, currently developed by Paul Graham.
In 2001, Paul Graham announced 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 Combinator have been written in Arc, most notably the Hacker News web forum and news aggregator program.
In the essay Being Popular Graham describes a few of his goals for the language. While many of the goals are very general ("Arc should be hackable," "there should be good libraries"), he did give some specifics. For instance, he believes that it is important for a language to be terse:
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.
He also stated that it is better for a language to only implement a small number of "axioms," even when that means the language may not have features that large organizations want, such as object-orientation. In fact, 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.[1][2]
A controversy among Lisp programmers is if, and how much, the S-expressions of 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[3]. The release comes in the form of a .tar archive, containing the mzscheme source code for Arc. A tutorial and a discussion forum are also available. The forum is copied from news.ycombinator.com and is written itself in Arc.
The initial version has caused some controversy, notably by not supporting any other character set than ASCII, and shipping with a built-in web application library that bases its layout on HTML tables. This, combined with the hype surrounding Arc and its generally slow development pace, has gathered some unfavorable comments[4].
[edit] The Unofficial Fork
Due to the slow development of the official Arc branch, the Arc community has started its own unofficial fork, 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 Grahams version.
Note that this is not a formal forking of Arc, there is still a desire to keep just one version of Arc; but at the same time, the community wanted to see development on Arc continue, which didn't appear to be happening, as Paul Graham was not giving any guidance or commentary to the community about the roadmap for Arc.
[edit] References
[edit] External links
- Latest news from Y Combinator
- Arc website
- Arc FAQ
- arcfn.com, documentation / discussion on arc and anarki
- practical-scheme.net/wiliki/arcxref an arc wiki
- The Hundred-Year Language, an essay