Content deleted Content added
m ref |
specify Arc has been ported to Common Lisp |
||
(176 intermediate revisions by 100 users not shown) | |||
Line 1:
{{Short description|Open-source programming language}}
{{Distinguish|ARC Macro Language}}
{{Infobox programming language
| name
| logo = <!-- Filename only -->
| paradigm = [[multi-paradigm programming language|multi-paradigm]]: [[functional programming|functional]], [[procedural programming|procedural]], [[Reflection (computer science)|reflective]]▼
| logo caption =
| screenshot = <!-- Filename only -->
| screenshot caption =
| designer = [[Paul Graham]], [[Robert Morris]]▼
▲|
| family = [[Lisp (programming language)|Lisp]]
| latest release version =▼
| developers = Paul Graham, Robert Morris,<br />Arc [[Community of practice|community]]
| released = {{Start date and age|2008|01|29|df=yes}}
| implementations =▼
▲| latest release version = 3.2
| dialects = ▼
| latest release date = {{Start date and age|2018|10|28|df=yes}}<ref>{{cite web |url=http://arclanguage.org/item?id=20772 |title=Arc Forum: Tell Arc: Arc 3.2 |website=Arclanguage.org |access-date=2018-11-07}}</ref>
| latest preview version =
| influenced = ▼
| latest preview date = <!-- {{Start date and age|201Y|MM|DD|df=yes}} -->
| typing = [[Dynamic typing|Dynamic]]
| scope =
| programming language = [[Racket (programming language)|Racket]], [[Common Lisp (programming language)|Common Lisp]]
| platform = [[IA-32]], [[x86-64]]
| operating system = [[Linux]]
| license = [[Artistic License]] 2.0
| file ext = .arc
| file format = <!-- or: | file formats = -->
| website = {{URL|arclanguage.org}}
| influenced by = [[Lisp (programming language)|Lisp]], [[Scheme (programming language)|Scheme]]
}}
'''Arc''' is a [[programming language]], a [[Dialect (computing)|dialect]] of the language [[Lisp (programming language)|Lisp]],
== History ==
In 2001, Paul Graham announced
==Motives==
In the essay ''Being Popular
He also stated that it is better for a language to only implement a small number of
A controversy among Lisp programmers is
=== Reception ===
The first publicly released version of Arc was made available on Tuesday, 29 January 2008<ref>[http://paulgraham.com/arc0.html Arc's Out (29 January 2008)]</ref>. The release comes in the form of a .tar archive, containing the mzscheme source code for Arc. A tutorial <ref>[http://ycombinator.com/arc/tut.txt tutorial]</ref> and a discussion forum<ref>[http://arclanguage.org/forum discussion forum]</ref> are also available. The forum is copied from news.ycombinator.com and is written itself in Arc.▼
When released in 2008, Arc generated mixed reactions, with some calling it simply an extension to Lisp or [[Scheme (programming language)|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 (software)|Eclipse]].<ref>{{cite web |url=https://www.theregister.co.uk/2008/02/07/lisp_arc_challenge/ |title=Web pioneer hits critics with Lisp gauntlet |website=The Register |date=2008-02-07 |place=[[United Kingdom|UK]]}}</ref>
== Examples ==
[["Hello, World!" program|Hello world]] in Arc :
<syntaxhighlight lang="lisp">
(prn "Hello, World")
</syntaxhighlight>
To illustrate Arc's 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.<ref>{{cite web |url=http://www.paulgraham.com/arcchallenge.html |title=Take the Arc Challenge |last=Graham |first=Paul |date=February 2008 |website=PaulGraham.com |access-date=2018-12-05}}</ref>
== The Unofficial Fork ==▼
<syntaxhighlight lang="lisp">
(defop said req
(aform [onlink "click here" (pr "you said: " (arg _ "foo"))]
(input "foo")
(submit)))
</syntaxhighlight>
==Versions==
===Official version===
▲The first publicly released version of Arc was made available on
Due to lack of updates in the official Arc branch, some members of the Arc [[Community of practice|community]] started their own repositories with unofficial modifications, extensions, and libraries. One version, ''Anarki'',<ref>{{cite web |url=https://github.com/arclanguage/anarki |title=Anarki |last=Rapp |first=Kenneth (kennethrapp) |date=14 November 2018 |website=GitHub |access-date=2018-12-05}}</ref> permitted<ref>{{cite web |url=http://arclanguage.org/item?id=17707 |title=Announcement: anarki is no longer world-committable |last=Agaram |first=Kartik (akkartik) |date=27 May 2013 |website=Arc Forum |publisher=Arc language |access-date=2018-12-05}}</ref> anyone to submit changes to the project and has a community managed wiki.<ref>{{cite web |url=https://sites.google.com/site/arclanguagewiki |title=Arc Lang Wiki |author=<!-- Unstated. --> |date=<!-- Unstated. --> |website=Sites |access-date=2018-12-05}}</ref>
''Rainbow''<ref>{{cite web |url=https://github.com/conanite/rainbow |title=Rainbow |last=Dalton |first=Conan (conanite) |date=12 October 2010 |website=GitHub |access-date=2018-12-05}}</ref> is an implementation of Arc in [[Java (programming language)|Java]].
''Arcadia''<ref>{{cite web |url=https://github.com/kimtg/Arcadia |title=Arcadia |last=Kim |first=Taegyoon (kimtg) |date=19 August 2018 |website=GitHub |access-date=2018-12-05}}</ref> is an implementation of Arc in [[C (programming language)|C]].
''Arc++''<ref>{{cite web |url=https://github.com/kimtg/Arcpp |title=Arcpp |last=Kim |first=Taegyoon (kimtg) |date=13 August 2023 |website=GitHub |access-date=2023-08-13}}</ref> is an implementation of Arc in [[C++]].
===Timeline of LISP Dialects===
{{Lisp}}
==References==
{{Reflist|
==External links==
*{{Official website|arclanguage.org}}
*
*{{GitHub|arclanguage/anarki|Anarki}}
{{Lisp programming language}}
[[Category:Dynamically
[[Category:Functional languages]]
[[Category:Lisp programming language family]]
[[Category:Cross-platform free software]]
|