最近正在學習Scheme,Scheme 是 LISP 的一種方言(或者說是變種),一門非常有趣的語言,語法結構非常簡單。最新的Scheme標準定義(R5RS)才50頁左右。Scheme設計非常簡單,但是功能非常強大。
下面介紹一些Scheme的學習資源,方便查閱。
Scheme 教程
1. Sheme語言修訂報告:scheme-r5rs(英文),schem-r5rs(王詠剛翻譯的中文版)
2. Structure and Interpretation of Computer Programs
簡稱: SICP,非常著名的一本書(中譯本叫《計算機程序的解釋與構造》,由裘宗燕老師翻譯的),Scheme 的鼻祖 Gerald Jay Sussman 和計算機教育專家 Hal Abelson 合寫的,20 年來影響整個計算機科學教育的著作,著名的 MIT 課程 6.001(計算機科學專業(yè)的入門課程) 的教材,全世界有超過100所大學在使用這本書做為教材。
3. 《How to design programs》(中譯本《程序設計方法》,好像已經(jīng)絕版了,我沒買到:( )
Scheme 解釋器和編譯器
Scheme的解釋器非常多,而且基本都是自由軟件。
我覺得比較好用的是DrScheme(現(xiàn)在改名叫DrRacket了,Fedora倉庫中有,叫plt-scheme,但是版本比較老,可以直接從官網(wǎng)上下載最新版本,也有Windows版本),帶有圖形界面,有語法高亮,調(diào)試,單步執(zhí)行等功能。
Guile,適合做嵌入式解釋器,及插件擴展語言,它是 GNU 項目的官方擴展語言,很多開源應用程序中都使 Guile 來編寫腳本(比如Emacs,Gimp等)
另外bigloo, Gambit-C 和 Chicken 可以把 Scheme 編譯成機器代碼,提高執(zhí)行速度。
Fedora中bigloo和Gambit-C可以直接yum 安裝。