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通常的图形化操做,用来写笔记再好不过了,就是有点卡。