MIT Scheme 的基本使用
Posted lsgxeva
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MIT Scheme 的基本使用相关的知识,希望对你有一定的参考价值。
MIT Scheme 的基本使用
注意:运行MIT-GNU Scheme出现“Requested allocation is too large”
请求分配额度太大。尝试分配更小的堆内存。
右键单击应用程序的链接并选择属性。编辑目标,在其中添加自定义参数 --heap 512 即可
参考链接:stackoverflow
快捷方式属性设置
目标: "C:Program Files (x86)MIT-GNU Schemeinmit-scheme.exe" --library "C:Program Files (x86)MIT-GNU Schemelib" --heap 512 --edit
起始位置: "C:Program Files (x86)MIT-GNU Scheme"
安装和启动 启动 在 Windows 下正确安装 MIT Scheme 系统后,程序菜单里将有一个 MIT Scheme 目录,其中包含:
如果喜欢用命令行交互方式,可以用下述命令建一个快捷命令,放在你的桌面或者命令菜单里。注意将目录修改为你的系统安装目录: Edwin系统的退出 C-x z (表示按 Ctrl-x 后按 z 键):从 Edwin 中退到 Scheme 的命令交互状态。此时 Edwin 挂起,可用 (edit) 唤醒挂起的 Edwin,回到挂起前的状态。 C-x c :停止 Edwin 并回到 Scheme 的命令交互状态。 C-x C-z:停止 Edwin 并挂起 Scheme 系统。再次启动 Scheme 将唤醒挂起的 Scheme 系统,回到挂起前的系统状态。 C-x C-c:停止 Edwin 和 Scheme 系统。 从交互循环进入 Edwin 在交互方式下执行 (edit) 或 (edwin),将启动或返回 Edwin 交互式执行中退出 在提示符下键入下面表达式并回车: n ]=> (exit) 系统将要求确认。这样退出后所有在 Scheme 里已经做的事情都将丢掉了。 |
|||||||
基本使用: 命令行交互方式下回车,如果已输入了一个完整表达式,系统就会对其求值并输出结果 在 Edwin 里 C-x C-e 求值光标左边的一个完整表达式,M-z 求值光标当时位于其中的整个定义式(一个定义式也就是一个表达式,其左括号从最左边开始)
命令行方式下的使用
Edwin 的基本使用
|
|||||||
Scheme 文件操作 编辑和装入程序文件: 如果程序比较长,可以用系统外的编辑器编写好程序源文件,而后用 load 函数装入系统。下面是一个用绝对路径的实例: 1 ]=> (load "e:\\temp\\test1.scm") 求值这个表达式,可以看到文件装入的信息。load 函数还可以装入编译好的程序文件,详情见 Scheme 文档 “MIT Scheme User‘s Manual” 的 “3.2 Loading Files”。 用函数 cd 可以转换当前工作目录。下面是一个实例: 1 ]=> (cd "e:\\temp") 此后就可以直接用文件名装入这个目录下的文件了。 保存和恢复系统映像: 可以将 Scheme 系统的当前运行现场保存起来,以便将来回复这个现场。这样保存的现场称为一个“world image”或者一个“band”。实际上,Scheme 启动时也就是装入了一个默认的 band,装入编译器的启动方式就是装入另一个 band。 函数 save-disk 将当前现场存入文件。下例将现场存入当前目录下的文件 image1: 1 ]=> (disk-save "image1") 函数 disk-restore 恢复原保存在一个文件里的现场: 1 ]=> (disk-restore "image1") |
|||||||
阅读 MIT Scheme 文档: “MIT Scheme Reference” 介绍 MIT Scheme 的详细功能,“MIT Scheme User‘s Manual” 介绍 MIT Scheme 的使用。“SOS Reference Manual” 介绍的 SOS 是 Scheme 的一个对象系统,“IMAIL User‘s Manual” 介绍的 IMAIL 是用 Scheme 做的一个邮件阅读器。下面简单介绍与前两个文档有关的若干问题。 MIT Scheme 手册的主要内容是介绍这个 Scheme 系统提供的功能,包括预定义的变量(variable)、特殊形式(special form)和过程(procedure,函数)。例如
procedure: list object ...
|
我想有件事情肯定是对的,就是买了Structure and Interpretation of Computer Programs这本书籍。这本书在网上的评价甚高,被称为巫师书。
书中介绍说是本科低年级的教材。而我本人,02年西安交大毕业,工作近七年,而且毫不谦虚地说,本人对计算机程序的执行的理解有深刻的认识,在国内,和同龄的程序员,更甚者比高龄的程序员,我丝毫不弱,但是,当我读这本书的时候,我明显的觉得,国内教育与国外教育的巨大差别,因为,书中很多思想都是我未曾见识过的,想象我已经工作七年了,而这本书只是MIT的本科低年级学生的教材。
当我在网上搜索的时候,我发现,不光是MIT,包括UCB,Standford等著名大学都在讲授这门课程,而且我还幸运的发现,UCB有这门课的网络视屏,正好可以跟着学习。
现在言归正传,这教材是MIT press出版的,我就依此为线索,我想知道MIT这样的名校,他们的计算机系都开些什么课程,参考了一些关于中国人对国外教育的研究论文,而且也发现了下面的链接:
http://www.core.org.cn/OcwWeb/Global/all-courses.htm#ElectricalEngineeringandComputerScience
MIT的CS科系称之为:EECS,也就是电子工程和计算机科学系,有趣的时候,他们设置的第一门课程就是:计算机的程序构造与解释。所以,我越发觉得这么课程的重要性。课程代号为6.001.
我想借此机会,分析一下MIT的课程设置,当然,特别是与计算机相关的课程。
EECS大概涵盖如下几个专业知识:电气工程,生物工程,自动控制,人工智能,通信系统,电子的各领域等。
与计算机相关的课程有:
6.001: 计算机程序的构造与解释
6.033: 计算机系统工程,指定的教材竟然是人月神话,当然还有一系列的paper需要阅读。
6.035:计算机语言工程:是有关计算机系统和体系结构的一门课程,可能主要涉及编译原理。通过可选教材看出这一点
6.046J: 算法导论
6.090:6.001的实践课程,获取编程经验。
6.823:计算机系统和体系结构:计算机体系结构:定量的方法,计算机组织与设计:硬件与软件接口。
6.824:分布式计算机系统
6.826:计算机系统原理
6.828:操作系统工程:莱昂氏Unix操作系统注释
6.829:计算机网络
还有很多交叉的课程。至少我认为上述的:
001,033,035,046,823,826,828这七门课程是需要好好学习的,至少是要了解个大概的。
先不说别人的课程还有大量的实践作业,就是在内容上的差距,我们相比起来也是差的太远了。
难怪他们能培养出来大师级人物。我们的教育,还有很长的路要走。
来源: <http://blog.csdn.net/stephanxu/article/details/3858918>
===================== End
以上是关于MIT Scheme 的基本使用的主要内容,如果未能解决你的问题,请参考以下文章