fbpx
维基百科

Arc

Arc是一種程式語言,LISP方言英语dialect (computing)之一,由保羅·格雷厄姆羅伯特·泰潘·莫里斯設計,2008年釋出第一個正式版本。

Arc
编程范型多范型函數式編程过程式编程反射
設計者保羅·格雷厄姆羅伯特·泰潘·莫里斯
发行时间2008年1月29日,​15年前​(2008-01-29
型態系統動態強型別
操作系统跨平台,在Racket編譯器上運行
許可證Perl基金會的Artistic License 2.0
文件扩展名.arc
網站http://arclanguage.org/
啟發語言
LISP
影響語言
Anarki、HL

歷史 编辑

2001年,保罗·格雷厄姆宣布正在制作一个名为“Arc”的新的Lisp方言英语dialect (computing)。多年以来,他已撰写数篇文章描述该语言的特点与目标,并且Y Combinator的一些内部项目已经用Arc编写,最受关注的是Hacker News网络论坛和新闻聚合程序。Arc本身以Racket编写。[2]

在论文“Being Popular”[3]中,格雷厄姆描述了他对该语言的一些目标。虽然许多目标非常普遍(“Arc应该是可hack”、“它应该是良好的函式庫”),但也确实提供了一些细节。例如,他认为一门语言的简练很重要:

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.

他还表示,一种语言只能实现少量的“公理”,即使这意味着语言可能没有大型组织想要的功能,比如面向对象程序设计(OO)。事实上,格雷厄姆认为OO是没有用的,因为它的方法和模式只是“好的设计”,并且他看到用于实现OO的语言特性部分存在谬误。[4][5]Arc于2008年推出,Graham表示其优势之一是其简洁性。[6]

Lisp程序员之间的一个争议是,该种语言的S-表达式是否及应在多大程度上应该用其他形式的语法来补充。格雷厄姆认为当纯粹的S表达式过于冗长的情况下,应该使用额外的语法,他说:“我不认为我们应该在宗教上反对引入语法到Lisp。”格雷厄姆也认为,应该给程序员一个好的性能分析器解决方案来解决效率问题。[7]

反响 编辑

在2008年发布后,Arc产生了多种反应,有人称它只是Lisp或Scheme的一个扩展,而不是一个独立的编程语言。其他人则称赞Arc拆去了Lisp非必要的东西。Arc发布不久后,它被移植到JavaScript,以及被一个基于EclipseIDE“Schemescript”支持。[8]

範例 编辑

Arc的Hello world程式碼:

 (prn "Hello, World") 

保罗·格雷厄姆(Paul Graham)使用了一个程序来说明Arc的简洁性。[9]它产生一个表单,包含一个字段,url"/said"。提交表单后会被带到一个带有“click here”链接的页面,该页面本身则会带回包含原来输入字段值的页面。

(defop said req  (aform [onlink "click here" (pr "you said: " (arg _ "foo"))]  (input "foo")   (submit))) 

版本 编辑

官方版本 编辑

Arc的第一个公开发布版本出现于2008年1月29日,[10]Racket(那时为“PLT-Scheme”)实现。该版本以.tar压缩包形式发布,包含Arc的Racket源代码。一份教程[11] and a discussion forum[12]同时可用。论坛使用也本身以Arc编写Hacker News程序。

非官方版本 编辑

由于官方Arc分支发展缓慢,部分Arc社区的成员已开启非官方代码库存放非官方的修订、扩展和库。其中之一是Anarki[13] permitted[14] anyone to submit changes to the project. 社区管理的wiki[15]是比官方网站更好的信息来源。[來源請求]

Rainbow[16]是以Java实现的一个Arc。

Arcadia[17]是以C语言实现的一个Arc。

参考资料 编辑

  1. ^ . Arclanguage.org. [2018-11-07]. (原始内容存档于2021-01-23). 
  2. ^ Arc Programming Language. GitHub. [2017-04-11]. (原始内容于2017-05-07). 
  3. ^ Graham, Paul. Being Popular. [2017-04-11]. (原始内容于2017-05-02). 
  4. ^ Graham, Paul. Why Arc Isn't Especially Object-Oriented. [2013-01-23]. (原始内容存档于2013-06-26). 
  5. ^ Graham, Paul. Arc FAQ. [2013-01-23]. (原始内容存档于2013-06-26). 
  6. ^ Arc Makes Programs Shorter. Linux magazine. [2017-04-11]. (原始内容于2018-12-05).  参数|newspaper=与模板{{cite web}}不匹配(建议改用{{cite news}}|website=) (帮助)
  7. ^ Five Questions About Language Design. [2017-04-11]. (原始内容于2017-04-20). 
  8. ^ Web pioneer hits critics with Lisp gauntlet. The Register. UK. 2008-02-07 [2017-04-11]. (原始内容于2017-08-10). 
  9. ^ Graham, Paul. Take the Arc Challenge. [2017-04-11]. (原始内容于2017-03-28). 
  10. ^ Graham, Paul. Arc's Out. [2017-04-11]. (原始内容于2017-03-21). 
  11. ^ , Arc, Y combinator, [2017-04-11], (原始内容存档于2014-06-01) .
  12. ^ Arc Forum. Arc language. [2017-04-11]. (原始内容于2011-07-25). 
  13. ^ Anarki. Arc language. GitHub. [2017-04-11]. (原始内容于2017-09-14). 
  14. ^ Announcement: anarki is no longer world-committable. Arc Forum. Arc language. [2017-04-11]. (原始内容于2015-03-07). 
  15. ^ Arc Lang Wiki. Sites. Google. [2017-04-11]. (原始内容于2016-12-04). 
  16. ^ Rainbow. Conanite. GitHub. [2017-04-11]. (原始内容于2018-06-11). 
  17. ^ Arcadia. Kimtg. GitHub. [2017-04-11]. (原始内容于2018-06-11). 

外部链接 编辑

提示, 此条目的主题不是arc, 文件格式, 此條目翻譯自其他語言維基百科, 需要相關領域的編者協助校對翻譯, 如果您精通本領域, 又能清楚地將來源語言翻譯為中文, 歡迎您協助校訂翻譯, 原文参见维基数据, 是一種程式語言, lisp的方言, 英语, dialect, computing, 之一, 由保羅, 格雷厄姆與羅伯特, 泰潘, 莫里斯設計, 2008年釋出第一個正式版本, 编程范型多范型, 函數式編程, 过程式编程, 反射設計者保羅, 格雷厄姆和羅伯特, 泰潘, 莫里斯发行时间2008年1月29日, 15年. 提示 此条目的主题不是ARC 文件格式 此條目翻譯自其他語言維基百科 需要相關領域的編者協助校對翻譯 如果您精通本領域 又能清楚地將來源語言翻譯為中文 歡迎您協助校訂翻譯 原文参见维基数据 Arc是一種程式語言 LISP的方言 英语 dialect computing 之一 由保羅 格雷厄姆與羅伯特 泰潘 莫里斯設計 2008年釋出第一個正式版本 Arc编程范型多范型 函數式編程 过程式编程 反射設計者保羅 格雷厄姆和羅伯特 泰潘 莫里斯发行时间2008年1月29日 15年前 2008 01 29 型態系統動態 強型別操作系统跨平台 在Racket編譯器上運行許可證Perl基金會的Artistic License 2 0文件扩展名 arc網站http arclanguage org 啟發語言LISP影響語言Anarki HL 目录 1 歷史 1 1 反响 2 範例 3 版本 3 1 官方版本 3 2 非官方版本 4 参考资料 5 外部链接歷史 编辑2001年 保罗 格雷厄姆宣布正在制作一个名为 Arc 的新的Lisp方言 英语 dialect computing 多年以来 他已撰写数篇文章描述该语言的特点与目标 并且Y Combinator的一些内部项目已经用Arc编写 最受关注的是Hacker News网络论坛和新闻聚合程序 Arc本身以Racket编写 2 在论文 Being Popular 3 中 格雷厄姆描述了他对该语言的一些目标 虽然许多目标非常普遍 Arc应该是可hack 它应该是良好的函式庫 但也确实提供了一些细节 例如 他认为一门语言的简练很重要 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 他还表示 一种语言只能实现少量的 公理 即使这意味着语言可能没有大型组织想要的功能 比如面向对象程序设计 OO 事实上 格雷厄姆认为OO是没有用的 因为它的方法和模式只是 好的设计 并且他看到用于实现OO的语言特性部分存在谬误 4 5 Arc于2008年推出 Graham表示其优势之一是其简洁性 6 Lisp程序员之间的一个争议是 该种语言的S 表达式是否及应在多大程度上应该用其他形式的语法来补充 格雷厄姆认为当纯粹的S表达式过于冗长的情况下 应该使用额外的语法 他说 我不认为我们应该在宗教上反对引入语法到Lisp 格雷厄姆也认为 应该给程序员一个好的性能分析器解决方案来解决效率问题 7 反响 编辑 在2008年发布后 Arc产生了多种反应 有人称它只是Lisp或Scheme的一个扩展 而不是一个独立的编程语言 其他人则称赞Arc拆去了Lisp非必要的东西 Arc发布不久后 它被移植到JavaScript 以及被一个基于Eclipse的IDE Schemescript 支持 8 範例 编辑Arc的Hello world程式碼 prn Hello World 保罗 格雷厄姆 Paul Graham 使用了一个程序来说明Arc的简洁性 9 它产生一个表单 包含一个字段 url said 提交表单后会被带到一个带有 click here 链接的页面 该页面本身则会带回包含原来输入字段值的页面 defop said req aform onlink click here pr you said arg foo input foo submit 版本 编辑官方版本 编辑 Arc的第一个公开发布版本出现于2008年1月29日 10 以Racket 那时为 PLT Scheme 实现 该版本以 tar压缩包形式发布 包含Arc的Racket源代码 一份教程 11 and a discussion forum 12 同时可用 论坛使用也本身以Arc编写Hacker News程序 非官方版本 编辑 由于官方Arc分支发展缓慢 部分Arc社区的成员已开启非官方代码库存放非官方的修订 扩展和库 其中之一是Anarki 13 permitted 14 anyone to submit changes to the project 社区管理的wiki 15 是比官方网站更好的信息来源 來源請求 Rainbow 16 是以Java实现的一个Arc Arcadia 17 是以C语言实现的一个Arc 参考资料 编辑 Arc Forum Tell Arc Arc 3 2 Arclanguage org 2018 11 07 原始内容存档于2021 01 23 Arc Programming Language GitHub 2017 04 11 原始内容存档于2017 05 07 Graham Paul Being Popular 2017 04 11 原始内容存档于2017 05 02 Graham Paul Why Arc Isn t Especially Object Oriented 2013 01 23 原始内容存档于2013 06 26 Graham Paul Arc FAQ 2013 01 23 原始内容存档于2013 06 26 Arc Makes Programs Shorter Linux magazine 2017 04 11 原始内容存档于2018 12 05 参数 newspaper 与模板 cite web 不匹配 建议改用 cite news 或 website 帮助 Five Questions About Language Design 2017 04 11 原始内容存档于2017 04 20 Web pioneer hits critics with Lisp gauntlet The Register UK 2008 02 07 2017 04 11 原始内容存档于2017 08 10 Graham Paul Take the Arc Challenge 2017 04 11 原始内容存档于2017 03 28 Graham Paul Arc s Out 2017 04 11 原始内容存档于2017 03 21 Tutorial Arc Y combinator 2017 04 11 原始内容存档于2014 06 01 Arc Forum Arc language 2017 04 11 原始内容存档于2011 07 25 Anarki Arc language GitHub 2017 04 11 原始内容存档于2017 09 14 Announcement anarki is no longer world committable Arc Forum Arc language 2017 04 11 原始内容存档于2015 03 07 Arc Lang Wiki Sites Google 2017 04 11 原始内容存档于2016 12 04 Rainbow Conanite GitHub 2017 04 11 原始内容存档于2018 06 11 Arcadia Kimtg GitHub 2017 04 11 原始内容存档于2018 06 11 外部链接 编辑官方网站 英文 Arc 页面存档备份 存于互联网档案馆 于GitHub 英文 教程 英文 取自 https zh wikipedia org w index php title Arc amp oldid 72740484, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。