Arc (programming language)

Arc (programming language)

Infobox programming language
name = Arc

caption =
file_ext = .arc
paradigm = multi-paradigm: functional, procedural, reflective
year = 29 January 2008
designer = Paul Graham and Robert Morris
developer =
latest_release_version = 0.1
latest_release_date = 29 January 2008
latest_test_version =
latest_test_date =
typing = dynamic, strong
implementations =
dialects =
influenced_by = LISP
influenced = Anarki
operating_system = Cross-platform, runs on the MzScheme interpreter
license = Perl Foundation's Artistic License 2.0
website =
wikibooks =

Arc is a dialect of the Lisp programming language now under development by Paul Graham and Robert Morris.

In 2001 Paul Graham announced [ [ 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 Combinator have been written in Arc, most notably the Hacker News [ [ Hacker News] ] web forum and news aggregator program.

In the essay Being Popular [ [ 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 Lisp to 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. [ [ Why Arc Isn't Especially Object-Oriented] ] [ [ Arc FAQ] ]

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 [ [ 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 [ [ tutorial] ] and a discussion forum [ [ discussion forum] ] are also available. The forum is copied from and is itself written in Arc.

The initial version has caused some controversy, notably by supporting no other character set beside ASCII, and shipping with a built-in Web development 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 [ [ 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 [ [ 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 [ [ PG: "I'll have a good deal of time to work on Arc..." ] ] that he may continue development once again in October-November 2008.


External links

* [ Latest news from Y Combinator]
* [ Arc website]
* [ Arc FAQ]
* [] , documentation / discussion on arc and anarki
* [] an arc wiki
* [ The Hundred-Year Language] , an essay

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • ARC Macro Language — The ARC Macro Language (AML) is a proprietary high level algorithmic language for generating applications in ArcInfo. It was designed by ESRI in 1986 specifically for their command line driven ARC/INFO geographical information system. AML s… …   Wikipedia

  • Lisp (programming language) — Infobox programming language name = Lisp paradigm = multi paradigm: functional, procedural, reflective generation = 3GL year = 1958 designer = John McCarthy developer = Steve Russell, Timothy P. Hart, and Mike Levin latest release version =… …   Wikipedia

  • computer programming language — Introduction       any of various languages for expressing a set of detailed instructions for a digital computer. Such instructions can be executed directly when they are in the computer manufacturer specific numerical form known as machine… …   Universalium

  • Arc — may refer to: Computing and gaming*Arc (programming language), a Lisp dialect in development by Paul Graham *.arc, a file extension for archive files *arc, the command line interface for ArcInfo *Arc System Works, a video game… …   Wikipedia

  • Arc (язык программирования) — У этого термина существуют и другие значения, см. ARC. Arc …   Википедия

  • List of programming languages by category — Programming language lists Alphabetical Categorical Chronological Generational This is a list of programming languages grouped by category. Some languages are listed in multiple categories. Contents …   Wikipedia

  • Constraint logic programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Constraint programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computin …   Wikipedia

  • List of programming languages — Programming language lists Alphabetical Categorical Chronological Generational The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”