Scheme 做爲LISP的一種方言,解釋器方面的實現早已不是問題,選用ChezScheme是由於開源、支持64-bit threaded而且運行效率很高,若是說有什麼遺憾那就是默認不支持XP系統,聽說自行編譯能夠解決,但折騰VS太費勁了,我在XP系統上仍是繼續用MIT-Scheme。
編輯器方面果斷Visual Studio Code,除了比較吃內存別的基本上沒什麼大問題,插件市場很好用,配置文件編輯起來也不是很費勁。
Code Runner插件是看 關於在vscode中配置Scheme的問題 這篇帖子發現的,他沒有成功是由於沒有正確的配置環境變量,我沒有豆瓣帳號,就沒去回覆了。html
Chez Scheme的官網上沒什麼東西,自從被收購後就中止更新了,文檔和最新版的程序能夠從這下載。
VScode的下載頁在這,不一樣平臺會自動判斷的,直接點擊下載就行了。
安裝方面,由於是Windows,因此都很「傻瓜」式的,直接下一步就行了。java
依次打開 控制面板-系統-高級系統設置,切換到 高級 選項卡,點擊 環境變量,裏面的 Path 按需求點擊選擇一個,接着點擊 編輯 ,在彈出的窗口中先點擊新建再點擊瀏覽,在安裝C盤(默認是這個)的Program Files文件夾或Program Files (x86)文件夾中找到Chez Scheme 9.5,展開會看到bin,接着展開,你會看到 a6nt與ta6nt 或 i3nt與ti3nt。
這裏解釋下,最前面的t表明啓用threaded,末尾的nt表明Windows NT平臺版本,a6表明AMD x64,即64位,i3表明Intel 386,即32位,根據本身的平臺選擇一個,而後點擊數次肯定,完成環境變量配置。
配置環境變量是爲了實現直接輸入scheme命令便可啓動scheme,而不用再打上前面的路徑,簡化了輸入。linux
vscode-scheme安裝好直接能用,Code Runner插件安裝後,須要配置才能使用。
點擊VScode左下角的小齒輪,接着點擊 設置 ,在右邊的用戶設置處追加:git
"code-runner.executorMapByFileExtension": { ".vb": "cd $dir && vbc /nologo $fileName && $dir$fileNameWithoutExt", ".vbs": "cscript //Nologo", ".scala": "scala", ".jl": "julia", ".cr": "crystal", ".ml": "ocaml", ".exs": "elixir", ".hx": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt", ".rkt": "racket", ".ahk": "autohotkey", ".au3": "autoit3", ".kt": "cd $dir && kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && java -jar $fileNameWithoutExt.jar", ".kts": "kotlinc -script", ".dart": "dart", ".pas": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt", ".pp": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt", ".d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt", ".hs": "runhaskell", ".nim": "nim compile --verbosity:0 --hints:off --run", ".csproj": "dotnet run --project", ".fsproj": "dotnet run --project", ".ss": "scheme" },
".ss": "scheme" 這一行是我加上去的,意思是對於後綴是 .ss 的文件使用scheme命令去執行它。github
; Test (display "HelloWorld") (exit)
注意下末尾的(exit),這個是爲了不解釋器執行完後進入交互狀態。編程
寫完保存爲 test.ss ,而後右擊編輯區,選擇Run Code或直接按快捷鍵 Alt+Ctrl+N 便可看到輸出:數據結構
[Running] scheme "c:\Users\Administrator\Desktop\test.ss" Chez Scheme Version 9.5 Copyright 1984-2017 Cisco Systems, Inc. HelloWorld [Done] exited with code=0 in 0.288 seconds
數據結構(scheme)編程語言
這個支持直接嵌入Scheme等程序代碼並能夠直接運行,讓文式編程變得再也不雞肋,還擁有相似LaTeX的公式編輯系統與Word通常的圖形化操做,用來寫筆記再好不過了,就是有點卡。