zoukankan      html  css  js  c++  java
  • MIT Scheme 的基本使用

    MIT Scheme 的基本使用 安装和启动 启动 在 Windows 下正确安装 MIT Scheme 系统后,程序菜单里将有一个 MIT Scheme 目录,其中包含: Documentation:以浏览器方式打开 HTML 形式的 Scheme 文档 MIT GNU Scheme:Edwin 环境下启动 Scheme。Edwin 是一个类似 emacs 的编辑器 如果喜欢用命令行交互方式,可以用下述命令建一个快捷命令,放在你的桌面或者命令菜单里。注意将目录修改为你的系统安装目录: "C:Program FilesMIT-GNU Schemeinscheme.exe" --library "C:Program FilesMIT-GNU Schemelib" 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方式下的基本使用 MIT-GNU-Scheme 文档 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: eqv? obj1 obj2 过程名是 eqv?,取两个参数。使用的例子: (eqv? 3 2) procedure: list object ... 过程名是 list,取 0 个或任意多个参数。用例: (list 1 2 3 4) 特殊形式的实例: special form: lambda formals expression expression ... 特殊形式,名字是 lambda,后面应有一个参数表和一个或多个表达式。 用例: (lambda (x y) (+ x y)) === 命令行方式下的使用 基本使用 在交互式执行方式下,系统(启动后)将在一个窗口显示版本信息,最后是提示符: 1 ]=> 键入的程序代码将显示在提示符之后。 此时系统执行 read-evaluation-print 循环(读入-求值-打印循环,REPL),可以键入符合 Scheme 语法要求的表达式(程序),要求系统对其求值。表达式中可以任意换行。一旦系统读到一个完整的表达式,就会对它求值(计算),并打印出求得的值。 Scheme 不区分标识符中的大写和小写,define 和 DEFINE,Define 同样对待。 启动后的提示符 1 ]=> 中的数字 1 表示当前系统运行在第一层“读入-求值-打印循环”。如果求值中出错,系统将进入更高层次的“读入-求值-打印循环”,也是系统的出错处理循环。在出错循环中仍然可以像在第一层循环一样使用 Scheme 系统,还可以做一些其他事情(参看 Scheme 文档) 退出一层或多层“读入-求值-打印循环”: 可以用 Ctrl-u 组合键退出一层求值循环,用 Ctrl-g 退到第一层循环。 中断执行: 组合键 Ctrl-g:杀掉正在进行的求值并回到第一层 REPL 组合键 Ctrl-x:杀掉正在进行的求值并回到当前 REPL 组合键 Ctrl-u:杀掉正在进行的求值并回到上一层 REPL 组合键 Ctrl-b:暂停当前求值进入断点 REPL。可以用 (continue) 唤醒中断的执行 === *其他详见评论 转抄自:http://www.cnblogs.com/Henrya2/archive/2009/02/21/1395615.html,特此感谢
  • 相关阅读:
    一个极好的ALV例子
    ABAP中读取文本文件(TXT DOCUMENT)并用ALV显示
    SMARTFORM报表程序设计(3)
    FOR ALL ENTRIES IN
    SMARTFORM报表程序设计(2)
    SMARTFORM报表程序设计(1)
    ABAP用FILE_OPEN_DIALOG打开多个文件后打印出名称
    LaTeX 表格的处理 [转]
    ubuntu安装deb,rpm安装包,tar.gz的方法 [转]
    OpenGL学习入门之VS2010环境配置 [转]
  • 原文地址:https://www.cnblogs.com/jackStudy/p/4235667.html
Copyright © 2011-2022 走看看