跳至內容

Arc

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

Arc是一種程式的語言,LISP 的方言之一,由這保羅 ・ 格雷厄姆佮羅伯特 ・ 泰潘 ・ 不要里斯設計,二空空八年釋出頭一个正式的版本。

歷史

二空空一年,保羅 ・ 格雷厄姆宣布當咧製作一个叫做「Arc」的新的 Lisp 方言。久年以來,伊已經編寫數篇文章描寫該語言的特點佮目標,並且 Y Combinator 的一寡內底的專案已經用 Arc 編寫,上蓋受關注的是 Hacker News 網路論壇佮新聞聚合程式。Arc 本身以 Racket 編寫。

佇論文「Being Popular」中,格雷厄姆描述了伊對該語言的一寡目標。雖然真濟目標足普遍的(「 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 的語言特性部份存在離經。Arc 佇二空空八年推出,Graham 表示其優勢之一是其簡潔性。

Lisp 程式設計師之間的一个爭議是,你彼種語言的 S-表達式敢有應該佮偌大的程度應該用其他的形式的語法來補充。格雷厄姆認為做純粹的 S 表達式傷過工課的情況下,應該使用額外的語法,伊講:「 我無認為咱應該佇咧宗教頂懸反對引入語法來到 Lisp。」格雷厄姆嘛認為講,應該予程式設計師一个好的效能破析器解決方案來解決效率的問題。

反響

佇二空空八年發佈了後,Arc 產生真濟種反應,有人共稱只是講 Lisp 抑是 Scheme 的一个擴充,毋是一个獨立的程式語言。其他的人攏呵咾 Arc 拆去矣 Lisp 足必要的物件。Arc 發佈無偌久了後,伊予徙栽去到 JavaScript,以及予一个基於 Eclipse 的 IDE「Schemescript」支援。

範例

Arc 的 Hello world 程式碼:

保羅 ・ 格雷厄姆(Paul Graham)了後使用一个程式來說明 Arc 的素潔性。伊產生一个表單,包含一个欄位,url " / said "。提交表單了後會予人𤆬去一搭有「click here」連結的頁面,頁面本身會紮轉去包含原來輸入欄位值的頁面。

版本

這个官方版本

Arc 的頭一个公開發布版本出現佇二空空八年一月二九,以 Racket(彼陣為「PLT-Scheme」)實現。該版本以 . tar 壓縮檔形式發布,包含 Arc 的 Racket 原始碼。一份教程 and a discussion forum 同時會當用。論壇使用嘛本身以 Arc 編寫 Hacker News 程式。

非官方版本

因為官方 Arc 分支發展較慢,部份 Arc 社群的成員已經拍開非官方代碼庫存囥非官方的修訂、擴充佮庫。其中之一是Anarki,permitted anyone to submit changes to the project . 社群管理的 wiki 是比官方網站較好的資訊來源。

Rainbow是以 Java 實現的一个 Arc。

Arcadia是以 C 語言實現的一个 Arc。

參考資料

外部連結

  • 官方網站(英文)
  • Arc 佇咧 GitHub(英文)
  • 教程(英文)