徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

Common Lisp和S-表达式

快捷方式: 差异相似杰卡德相似系数参考

Common Lisp和S-表达式之间的区别

Common Lisp vs. S-表达式

Common Lisp,縮寫為CL(不是組合邏輯的縮寫)是Lisp編程語言的一種方言,由ANSI INCITS 226-1994(R2004)(前身為ANSI X3.226-1994(R1999)),所定義的語言規範標準。Common Lisp HyperSpec是源自於ANSI Common Lisp標準的網頁超連結版本。 CL語言是為標準化和改良Maclisp而開發的後繼者。到20世紀80年代初,幾個工作群組已經在設計MacLisp各種後繼者,例如:Lisp Machine Lisp(又名 ZetaLisp),Spice Lisp,NIL和S-1 Lisp。CL是為了標準化和擴展此前眾多的MacLisp分支而開發,它本身並非具體的實作,而是對語言設立標準的規範。有數個實作符合Common Lisp規範,其中包括自由和開源軟件,以及商業化產品。CL支援了結構化、函數式和物件導向編程等範式。相对于各种嵌入在特定产品中的语言,如Emacs Lisp和AutoLISP,Common Lisp是一種用途廣泛的编程语言。不同於很多早期Lisp,Common Lisp如同Scheme,其中的變量是預設為詞法作用域的。 身為一種動態編程語言,它有助於進化和增量的軟件開發,並將其迭代編譯成高效的執行程序。這種增量開發通常是互動持續地改善,而不需中斷執行中的應用程序。它還支援在後期的分析和優化階段添加可選的型別註記與轉型,使編譯器產生更有效率的代碼。例如在硬體和實作的支援範圍內,fixnum能保存一個未封裝整數,允許比大整數或任意精度類型更高效率的運算。同樣地,在每個模組或函數的基礎上可聲明優化,指示編譯器要編譯成哪一類型的安全級別。 CL包含了支援多分派和方法組合的物件系統,縮寫為CLOS,它通常以元物件(Metaobject)協定來實現。 CL藉由標準功能進行擴展,例如Lisp宏(编译时期程序自身完成的代码重排(compile-time code rearrangement accomplished by the program itself))和阅读器宏(赋予用户自定义的語法以扩展具特殊意义的符号(extension of syntax to give special meaning to characters reserved for users for this purpose))。 CL為Maclisp和约翰·麦卡锡的原創Lisp提供了一些向後兼容性。這允許較舊的Lisp軟件移植到Common Lisp之上。. 所谓“S-表达式/運算式”(S-expression)或“sexp”(其中“S”代表“符号的”),是指一种以人类可读的文本形式表达半结构化数据的约定。S-表达式可能以其在Lisp家族的编程语言中的使用而为人所知。其他应用则见于由Lisp衍生的语言,如,以及如IMAP之类通信协议中作为标记出现和约翰·麦卡锡的。语法细节和所支持的数据类型虽因语言而异,但这些语言间最通用的特性则是使用S-表达式作为括号化的前缀表示法(有时亦作剑桥波兰表示法)。.

之间Common Lisp和S-表达式相似

Common Lisp和S-表达式有(在联盟百科)5共同点: 列表構造函數约翰·麦卡锡自由软件LISPScheme

列表構造函數

列表構造函數是用來構造列表的基本函數,在大多數 LISP 體系的計算機編程語言中,使用的函數名稱是cons。 cons構成了存放兩個變量與其指針的記憶體物件,這個物件被稱為(cons)單元、非原子的 S 表達式或(cons 對)。LISP 編程中表達要把 x 加入 y 的語法:(cons x y),構造了一個新物件。產生的結果具備了左半部,稱為car(第一元素或暫存器位址的內容);以及右半部稱為cdr(其餘元素或遞減暫存器的內容)。 以上約略地和物件導向的構造器概念相關,即產生一個給定參數的新物件,而其與代數數據類型系統的構造函數,有更密切相關。“cons”和諸如“cons onto”的詞句,也是函數編程的通用術語。有時運算子有類似作用,特別是在列表處理的情況下,被讀作“CONS”。(例如 ML,Scala,F#和 Elm 編程的::運算符,或 Haskell 編程的:運算符,都是向列表的開頭添加一個元素。).

Common Lisp和列表構造函數 · S-表达式和列表構造函數 · 查看更多 »

约翰·麦卡锡

约翰·麦卡锡(John McCarthy,),生于美国马萨诸塞州波士顿,计算机科学家。他因在人工智能领域的贡献而在1971年获得图灵奖。实际上,正是他在1956年的达特矛斯会议上提出了“人工智能”这个概念。.

Common Lisp和约翰·麦卡锡 · S-表达式和约翰·麦卡锡 · 查看更多 »

自由软件

自由軟體(free software),根據自由軟體基金會对其的定義,是一类可以不受限制地自由使用、複製、研究、修改和分發的,尊重使用者自由的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是专有软件(proprietary software),或被稱為私有軟體、封閉軟體(其定義與是否收取費用無關──自由軟體不一定是免費軟體)。自由軟體受到選定的「自由軟體授權協議」保護而發佈(或是放置在公有領域),其發布以原始碼為主,二進制檔案可有可無。自由軟體許可證的類型主要有GPL许可证和BSD许可证兩種。.

Common Lisp和自由软件 · S-表达式和自由软件 · 查看更多 »

LISP

LISP是具有悠久歷史的計算機編程語言家族,有獨特和完全括號的前綴符號表示法。起源於西元1958年,是現今第二悠久而仍廣泛使用的高階編程語言。只有FORTRAN編程語言比它更早一年。LISP編程語族已經演變出許多種方言。現代最著名的通用編程語種是Common Lisp和Scheme。 LISP最初創建時受到阿隆佐·邱奇的lambda演算的影響,用來作為計算機程序實用的數學表達。因為是早期的高階編程語言之一,它很快成為人工智能研究中最受歡迎的編程語言。在計算機科學領域,LISP開創了許多先驅概念,包括:.

Common Lisp和LISP · LISP和S-表达式 · 查看更多 »

Scheme

Scheme是一种函数式编程语言,是Lisp的两种主要方言之一(另一种为Common Lisp)。不同于Common Lisp,Scheme遵循極簡主義哲学,以一个小型语言核心作为标准,加上各种强力语言工具(语法糖)来扩展语言本身。 麻省理工學院與其他院校曾采用Scheme教授计算机科学入門課程。著名的入門教材《-zh-hans:计算机程序的构造和解释;zh-hant:電腦程式的構造和解釋-》(SICP)利用Scheme來解釋程序設計 。Scheme的廣泛受眾被視為一個主要優勢,然而不同實現之間的差異成為了它的一個劣勢。 Scheme最早由麻省理工學院的蓋伊·史提爾二世與傑拉德·傑伊·薩斯曼在1970年代發展出來,並由兩人發表的「λ論文集」推廣開來。 Scheme語言與λ演算關係十分密切。小寫字母「λ」是Scheme語言的標誌。 Scheme的哲学是:设计计算机语言不应该进行功能的堆砌,而应该尽可能减少弱点和限制,使剩下的功能显得必要。Scheme是第一個使用靜態作用域的Lisp方言,也是第一个引入“干净宏”和第一类续延的编程语言。.

Common Lisp和Scheme · S-表达式和Scheme · 查看更多 »

上面的列表回答下列问题

Common Lisp和S-表达式之间的比较

Common Lisp有79个关系,而S-表达式有17个。由于它们的共同之处5,杰卡德指数为5.21% = 5 / (79 + 17)。

参考

本文介绍Common Lisp和S-表达式之间的关系。要访问该信息提取每篇文章,请访问:

嘿!我们在Facebook上吧! »