iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

程式追尋之路系列 第 6

#6 Lisp: 純粹的力量

  • 分享至 

  • xImage
  •  

如果要給 Lisp 語言下一個註解的話,它是單純而強大的語言。它給我的整體感覺很像數學家寫的運算式,簡練不囉唆、每一句都像是真理。接觸這語言到現在,對於它的純粹仍然感到敬仰。雖然對我來說,它還是一個似懂非懂的語言。我並未使用它開發應用,但它讓我見識到語言的美。

它就像是一個黏土,可以讓你雕塑出想要的形狀。
它就像是一個積木,可以讓你堆疊出想要的城堡。
使用它的體驗是很特殊的,一般的程式語言不容易有這樣的感覺。
它給你高度的自由,你不像是使用語言,反而比較像是創造語言。

摘要性的介紹:
Lisp 是由七個基本功能構成的語言,分別為: quote, atom, eq, car, cdr, cons, cond.

Lisp 的句子是由 s-exp 構成的, s-exp 作為程式的資料和指令,這代表 s-exp 可以當作資料傳輸也可以當作指令執行,這個特性讓 Lisp 可以很容易地進行擴充、建構新的程式運算。

當初約翰·麥卡錫在論文中的求值函數eval ,可以僅透過 quote, atom, eq, car, cdr, cons, cond 完成。透過(print(eval(read)))的過程可以實現一個很直觀的計算模型,讀取資料、求值、印出,而這模型本身是可以擴充的,你可以在裡面增加函數、擴充功能。

這是我在 lisp 學會最驚豔的事情

如果想要詳細了解如何辦到的?請務必參照《Lisp之根源》

接下來,暫時離開抽象的計算理論,看一下實際的機器是怎麼運作的吧。


上一篇
#5 通用圖靈機
下一篇
#7 計算機架構:住在機器裡的小人兒
系列文
程式追尋之路7
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言