Scheme的解釋器非常多,而且基本都是自由軟件。Lisp 方言 Scheme 的一個解釋器,可以按照在 Windows 系統(tǒng)上,使用非常方便,也很只智能。
我覺得比較好用的是DrScheme(現(xiàn)在改名叫DrRacket了,Fedora倉庫中有,叫plt-scheme,但是版本比較老,可以直接從官網(wǎng)上下載最新版本,也有Windows版本),帶有圖形界面,有語法高亮,調試,單步執(zhí)行等功能。
Racket源自著名的專家型語言PLT Scheme,同時又是Lisp語言的一個分支。它適用于從腳本Script到應用程序開發(fā)的任務執(zhí)行工具,包括圖形用戶界面,Web服務器等。支持編譯器的虛擬機,創(chuàng)建獨立的可執(zhí)行程序的工具,Racket Web服務器,具有豐富而全面的功能庫,適用于初學者和專家編程。
Racket可通過創(chuàng)建大量的語法系統(tǒng)來支持和創(chuàng)建新的編程語言,包括Typed Scheme,ACL2, FrTime, Lazy Scheme和ProfessorJ等 。
作為編程語言的通用測試平臺,Racket軟件包主要工具包括:
* racket——系統(tǒng)核心部分,主要包括編譯器、解釋器和運行庫程序;
* DrRacket——原為DrScheme,是一個基于Racket的開源、跨平臺系統(tǒng)的IDE集成編程環(huán)境,更加適用于初學者的GUI圖形化用戶編程界面;
* raco——基于字符界面的命令行執(zhí)行工具,用于執(zhí)行Racket命令集,如安裝系統(tǒng)組件功能包,創(chuàng)建函數(shù)庫等。
Racket的特點是具有全面而豐富的庫,可用于實現(xiàn)xml, web-server, web-framework, multiple-threads, pattern match, latex, slides, posix, GUI等,其實用性不比Common Lisp差。另外其與眾不同的特點在于macro和continuation,并引入了syntax object和compilable macro的概念。
LISP有以下幾個主要特點:
1.計算用的是符號表達式而不是數(shù);
2.具有表處理能力,即用鏈表形式表示所有的數(shù)據(jù);
3.控制結構基于函數(shù)的復合,以形成更復雜的函數(shù);
4.用遞歸作為描述問題和過程的方法;
5.用LISP語言書寫的EVAL函數(shù)既可作為LISP語言的解釋程序,又可以作為語言本身的形式定義;
6.程序本身也同所有其他數(shù)據(jù)一樣用表結構形式表示。
已經(jīng)證明:LISP的這些特點是解決人工智能核心問題的關鍵。它和后來由英國倫敦大學的青年學生柯瓦提出、由法國馬賽大學的考爾麥勞厄(Alain Colmerauer)所領導的研究小組于1973年首先實現(xiàn)的邏輯式語言PROLOG并稱為人工智能的兩大語言,對人工智能的發(fā)展起了十分深遠的影響。