我試圖瞭解命令式和功能式語言之間的區別。
此外,我想了解關閉和垃圾收集器如何實施。所以我決定嘗試實現一種功能語言的解釋器。如何實現一種功能語言
因爲我不熟悉函數式語言,所以設計一個函數式語言太困難了。是否有關於簡單函數式語言的語法和語義的一些資源?如何做到這一點的教程將是非常有用的。
我試圖瞭解命令式和功能式語言之間的區別。
此外,我想了解關閉和垃圾收集器如何實施。所以我決定嘗試實現一種功能語言的解釋器。如何實現一種功能語言
因爲我不熟悉函數式語言,所以設計一個函數式語言太困難了。是否有關於簡單函數式語言的語法和語義的一些資源?如何做到這一點的教程將是非常有用的。
奇怪的是,有。 Structure and Interpretation of Computer Programs書中有計劃在計劃中實施的練習。但預備材料不能跳過。你需要知道它(以及如何用功能語言編程),特別是當你在解釋器中實現解釋器時。
你可能會比閱讀約翰艾倫的Lisp解剖學更糟糕。對於懶惰語言。
請考慮:
Implementing functional languages: a tutorial
Simon Peyton Jones and David Lester. Published by Prentice Hall, 1992.
Available online,覆蓋日益完善的方法來實現編譯懶函數式語言。
跟進了the STG machine paper,描述了GHC運行時的核心。
你已經倒過來了。根據定義,您需要先理解函數式語言,然後才能解釋它。只需選擇一個,併爲您學習一個更好的方向。無論如何,關閉不是一個真正的問題;太廣泛了。 – GManNickG 2013-02-22 01:26:56
更好地尋找可以學習的簡單功能編程實現。試圖靠自己去做是一件大事。 – vonbrand 2013-02-22 01:27:23
語法與語言是否功能完全無關,除了可能提供「匿名函數」語法。 – 2013-02-22 02:24:44