最近在閱讀sicp這本書,書中的代碼是使用scheme
實現的。以前閱讀的時候是使用Dr.Racket
來完成寫練習的,可我以爲與其這樣,不如一步到位,使用emacs+lisp
解釋器來的比較快。html
直接點擊官方教程點我查看,上面講解的十分清楚,基本上不一樣系統的安裝方式大同小異,下載後點擊運行,仍是很簡單的吧。linux
lisp有無數種實現的版本,這裏我使用的是Racket
,由於我以前電腦上就有Dr.Racket
因此不用下載,若是你沒有的話,能夠點擊Racket下載地址,選擇合適系統的版本進行下載,固然你也能夠選擇其餘lisp方言的實現版本,例如Petite Chez Scheme下載地址。下載完解壓便可。git
下載完畢後,你能夠獲得這樣的一些程序github
接着設置將上圖解釋器所在的文件夾路徑設置到系統路徑中(windows=環境變量,mac/linux=$path
),接着在終端敲擊racket --version
來檢查是否設置成功。若是出現如下信息,你就成功了。編程
咱們須要安裝簡單的幾個插件來幫助咱們高效的編寫和運行代碼。windows
和linux安裝軟件相似,這裏咱們設置MELPA
的安裝源,這樣咱們就能夠一鍵安裝代碼了,十分方便。
鑑於國外訪問速度很慢,咱們這裏使用國內的鏡像源,這裏要感謝一直維護自由軟件的人,不然這些工具的設置與配置哪裏會有這麼容易和便捷:)工具
emacs
中全部的配置都在~/.emacs
這個文件中,對於windows,就是在C盤的我的目錄文件夾下。咱們能夠經過編輯這個文件來對emacs進行一些自定義的配置。打開.emacs文件,在文件的末尾加上如下配置,設置咱們的插件安裝源。ui
;; melpa 安裝源 (require 'package) (add-to-list 'package-archives '("melpa" . "http://elpa.emacs-china.org/melpa/") t) (package-initialize)
這樣就能夠方便的安裝插件了。.net
Racket-mode
很好用,執行代碼,高亮,提示,反正我以爲該有的都OK,下面就進行安裝。
使用如下命令M-x package-install <ret> racket-mode
,M表明alt
組合鍵的意思,ret
表明回車,因此該命令實際上就是插件
alt+x
打開命令模式package-install
(能夠用空格鍵/tab來提示),回車racket-mode
,回車確認,等待安裝完畢。怎麼樣,很簡單吧。
安裝完畢後,在配置文件.emacs
配置文件中增長如下代碼的配置
;;racket配置,設置解釋器,自動補全,代碼執行等 (require 'racket-mode) (setq racket-racket-program "racket") (setq racket-raco-program "raco") (add-hook 'racket-mode-hook (lambda () (define-key racket-mode-map (kbd "C-x C-j") 'racket-run))) (setq tab-always-indent 'complete)
ParEdit
是一款讓你半結構化編輯lisp的插件,例如括號的自動補全,s-表達式的轉移,提取等等,仍是很方便的。
一樣使用M-x package-install <ret> paredit-mode
進行安裝便可。
具體的使用方法不是本篇文章的重點,能夠參考如下幾篇文章
所有設置完畢後,咱們新建一個文件(ctrl+x 回車 i 回車 輸入文件名
),輸入如下代碼
#! /usr/bin/env racket #lang racket (displayln "Hello World!")
接着使用F5
執行 S-表達式,成功的打印的出Hello World
至此,安裝Emacs
並設置racket
環境就完畢啦