作者ykjiang (York)
看板PLT
標題Re: [新手發問]Lisp
時間Fri Jan 11 12:21:04 2013
最關鍵的地方是,其他程式語言內部都要把原始程式轉成語法樹,再做後續處理
而 Lisp 是直接人工 key 出這個語法樹,所以沒去區分原始程式或語法樹,
因為對 Lisp 來說,那是一樣的東西
※ 引述《beatitude (python fan)》之銘言:
: 回一篇古老的文
: 在小弟的認知裡,由於 Lisp code 本身是由 List 組成的樹狀結構,
: 所以 Lisp 巨集可以在編譯期將 Lisp code 當作資料結構進行處理。
: 由於 Lisp 巨集設計是對使用者開放的,
: 所以原則上 user 可以創造出任意的語法控制結構 (if, def, defn, defmacro...etc)
: 可以說是想要什麼都做得出來
: 其它語言因為語法規則較為複雜,
: 所以巨集 (ex: C macro) 往往僅能把 code 作為純文本處理,
: 如此一來要把一個可見的 code pattern 抽象化出來就比較困難,
: 我想這是 Paul Graham 聲稱 Lisp is power 的原因
: 如果有說的不對的地方還請各位指教,thanks!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.199.194
1F:推 coolcomm: 01/11 14:01
2F:推 etpket:沒記錯的話 lisp本身就可以容易達成LL 02/05 16:17