ⓘ Arc (programming language)


ⓘ Arc (programming language)

Arc is a programming language, a dialect of the language Lisp, developed by Paul Graham and Robert Morris. It is free and open-source software released under the Artistic License 2.0.


1. History

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 Grahams startup business incubator named Y Combinator have been written in Arc, most notably the Hacker News web forum and news aggregator program. Arc is written in Racket.


2. Motives

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 example, he believes it 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 hell have to type. If this isnt 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 OO. Further, Graham thinks that OO is not useful as its methods and patterns are just "good design", and he views the language features used to implement OO as partly mistaken. At Arcs introduction in 2008, Graham stated one of its benefits was its brevity.

A controversy among Lisp programmers is whether, and how much, the s-expressions of the language should be complemented by other forms of syntax. Graham thinks that added syntax should be used in situations where pure s-expressions would be overly verbose, saying, "I dont think we should be religiously opposed to introducing syntax into Lisp." Graham also thinks that efficiency problems should be solved by giving the programmer a good profiler.


2.1. Motives Reception

When released in 2008, Arc generated mixed reactions, with some calling it simply an extension to Lisp or Scheme and not a programming language in its own right. Others applauded Arc for stripping Lisp down to bare essentials. Shortly after its release, Arc was ported to JavaScript, and was being supported by Schemescript, an integrated development environment IDE based on Eclipse.


3. Examples

Hello world in Arc:

To illustrate Arcs terseness, Graham uses a brief program. It produces a form with one field at the url "/said". When the form is submitted, it leads to a page with a link that says "click here", which then leads to a page with the value of the original input field.


4. Versions

Official version

The first publicly released version of Arc was made available on 29 January 2008, implemented on Racket named PLT-Scheme then. The release comes in the form of a.tar archive, containing the Racket source code for Arc. A tutorial and a discussion forum are also available. The forum uses the same program that Hacker News does, and is written in Arc.

Unofficial versions

Due to lack of updates in the official Arc branch, some members of the Arc community started their own repositories with unofficial modifications, extensions, and libraries. One version, Anarki, permitted anyone to submit changes to the project and has a community managed wiki.

Rainbow is an implementation of Arc in Java.

Arcadia is an implementation of Arc in C.

  • archive files Arc programming language a Lisp dialect designed by Paul Graham arc the command - line interface for Arc Info Electric arc an ongoing plasma
  • which is part of the Arc GIS suite and allows programming access using Arc Objects through VBA or Python. ESRI, 1995. ARC Macro Language ESRI Press, 828 p
  • computing, a visual programming language VPL is any programming language that lets users create programs by manipulating program elements graphically
  • notable programming languages grouped by type. There is no overarching classification scheme for programming languages Thus, in many cases, a language is
  • Lisp historically LISP is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally
  • general - purpose, multi - paradigm programming language based on the Scheme dialect of Lisp. It is designed to be a platform for programming language design and implementation
  • Swift is a general - purpose, multi - paradigm, compiled programming language developed by Apple Inc. for iOS, iPadOS, macOS, watchOS, tvOS, Linux, and z OS
  • 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
  • Python is an interpreted, high - level, general - purpose programming language Created by Guido van Rossum and first released in 1991, Python s design philosophy
  • languages Programming languages with built - in support for constraints include Oz functional programming and Kaleidoscope imperative programming
  • performance and stability. The Arc Executive allowed the support of a command language specific to ARC INFO: the ARC Macro Language AML This allows users