Arc (programming language)

From Wikipedia, the free encyclopedia

Arc is a dialect of Lisp, currently developed by Paul Graham. He wants to make it a language for hackers, because "a programming language is good as a programming language (rather than, say, an exercise in denotational semantics or compiler design) if and only if hackers like it."

His essay Being Popular describes some of its aims:

  • Code should be brief:

    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.

  • Arc should be hackable: you should be able to do what you want.
  • The language should be good for writing throwaway programs, because "many evolve into real programs, with real features and real users."
  • There should be good libraries for Arc: "Of course the ultimate in brevity is to have the program already written for you, and merely to call it."
  • There should probably be syntax: it would make code shorter and easier to read. "I don't think we should be religiously opposed to introducing syntax into Lisp, as long as it translates in a well-understood way into underlying s-expressions."
  • Arc should generate fast code. The key for this is more in good profiling than in, say, making the language strongly typed.

As part of his work on Arc, Paul Graham began developing an email client and decided it needed a good spam filter. It has a simplified naive Bayes classifier he described in "A Plan for Spam". The first 'non-trivial' application in Arc, as described by Graham in its announcement, was Y Combinator Startup News, a web-based application supporting a user-ranked list of links related to startup companies.

[edit] External links