zwhu / blog

嘛,写 blog 也要遵守基本法。
MIT License
66 stars 2 forks source link

MIT-Scheme 安装入门 #28

Open zwhu opened 7 years ago

zwhu commented 7 years ago

初心

  1. 最近 FP(Functionial Programming) 的概念很火,ReactRedux 全家桶系列都是基于 FP 的概念,而 Scheme 作为 FP 的鼻祖 Lisp 的一门方言,又是王垠曾经很推崇的语言,很是期待掌握这门语言。
  2. SICP 里的例子都是用 Scheme 写的,而我最近想学习这本经典书籍,且书里推荐使用 Scheme 来学习。不过不用 Scheme 也没有关系, 老赵在 老赵书托(2):计算机程序的构造与解释 有推荐 IronScheme

Download && Install

官网下载 MIT/GNU Scheme 。我的电脑是 MBP, 所以选择 OSX 版本下载。 下载完了之后解压缩,把下图的 MIT/GNU Scheme 拖拽到 Applications 文件夹即可。

屏幕快照 2016-11-22 上午1.14.45.png

打开 Finder 在 Applications 或者应用程序文件夹中找到 MIT/GNU Scheme app

屏幕快照 2016-11-22 上午1.18.47.png

右键选择显示包内容

屏幕快照 2016-11-22 上午1.19.08.png

然后进入 /Contents/Resources/ 目录,双击 mit-scheme bash 屏幕快照 2016-11-22 上午1.22.06.png

如下图,说明安装一切顺利

屏幕快照 2016-11-22 上午1.23.58.png

不过每次这样每次通过 Finder 启动 Scheme 都非常麻烦,所以我们需要简单点的方法来启动:

优化启动

设置一个软连接

$ sudo ln -s /Applications/MIT\:GNU\ Scheme.app/Contents/Resources/mit-scheme /usr/bin/scheme

如果你出现 ln: /usr/bin/scheme: Operation not permitted 的错误,这是因为 mac osx 在 El Capitan 加入 Rootless 机制,所以没有权限来设置软连接,在网络上搜索之后有些简单的设置方法:设置方法链接

设置环境变量

$ echo "export MITSCHEME_LIBRARY_PATH=\"/Applications/MIT\:GNU\ Scheme.app/Contents/Resources\"" >> ~/.profile

$ echo "export MIT_SCHEME_EXE=\"/usr/local/scheme\"" >> ~/.profile

重启 terminal 或者 reload bash profile:

$ source ~/.profile

Done

如果在输入下面的命令之后,出现下图内容,说明设置已经生效

$ scheme

屏幕快照 2016-11-22 01.40.58.png

注: 设置快捷启动方式的 原文 在此,但是不知道为什么打不开了,还好我很久之前保存过这个页面的快照,遂整理并加入解决权限问题的方法一并放在此处。

运行 scm 文件

MIT-Scheme 中输入 code 非常麻烦,光标不能回退和上下移动,所以比较简单的方法就是运行已经写完的文件:

$: scheme -load yourfile.scm 

一些快捷键

  1. ctrl + g 跳出错误
  2. ctrl + z 跳出 MIT-Scheme

结尾

到此,可以愉快地使用 MIT-Scheme 开始我的 SICP 之旅了,祝大家也能早日熟练使用 Scheme 开发程序。