mit-scheme user manual note

本文档详述了MIT Scheme的安装步骤、运行配置、内存管理、命令选项及环境变量设置等内容,并介绍了如何进行程序编译、调试及性能剖析。
1 Installation
Goto page http://www.gnu.org/software/mit-scheme/ and find your os's source code and download it to local filesystem, decompress the tarbal. In the source code directory,run
./configure --prefix=/opt/mit-scheme
make compile-microcode
make install

If your config don't specify the prefix ,then the default path of installation will be /usr/local/lib/mit-scheme-$ARCH

2 Running Scheme System
In the shell,run mit-scheme or scheme.

2.1 memory use by scheme system
 stack    for recurse of procedure call
 heap     for dynamic object suche as string and object
 constant space for permanent object,like prodedures in runtime system
 extra    storage for c microcode use

use (print-gc-statistics) to show heap and const storage usage

2.2 command option
microcode options
--heap blocks       specifies the size of the heap in 1024 words which independent used by band
--stack blocks      specifies the size of the heap in 1024 words,this is NOT the unix stack
--constant blocks   
--option-summary    write current cmd option to std-error
--emacs             scheme will run as a subprocess of emacs
--interactive       scheme will run in backgroud detach std-in/out/err

runtime options
--no-init-file      do not load .scheme.init in user's home dir
--suspend-file      write image to user's home dir,load this file will continue compution of file's content

2.3 environment variable
shell environment variable can affect the microcode,at same time in scheme you can use (set-environment-variable! key value) to rewrite it.

MITSCHEME_BAND
MITSCHEME_LIBRARY_PATH
MITSCHEME_CONSTANT
MITSCHEME_HEAP
MITSCHEME_STACK

HOME/HOMEPATH
TMP/TMPDIR

EDWIN_BINARY_DIRECTORY
PATH

2.4 leaving scheme
(exit)  to exit scheme,  equals c-x c-c
(quit)  to suspend scheme, equls c-x c-z

3 Using scheme system

3.1 REPL mode
c-g to return top level,equals (restart 1)
C-c C-x to return current level
C-c C-u to return up level
C-c C-b to break
(continue) to go on break
C-c to interrupt and wait for char for next step,atfer that
q to exit
z to suspend
i to ignore
? for help

3.2 load files
(load path)  path can be bin or scm source code ,scheme will find it and run it

3.3 gc
(gc-flip)    to for gc start
(purify obj) to move obj form heap into constant space
(print-gc-statistics)     show gc info
(toggle-gc-notification!) switch gc notify

4 compile program
4.1 compile procedures
(cf file dst)  compile file to native code,it would generate .bin .com .bci files
.bci contains debug info,and stored in compressed format
(sf file dst)  compile file to scode

4.2 declarations
Some declaration in code can help cf and sf to gen code more efficient.

(declare (usual-integrations ))  

(declare (replace-operator <body>))
body: (operator-name (nargs1 value1)  (nargs2 value2) ...)
this is used to inform compiler select different value accoding to number of argment.

(declare (recucte-operator (cons* cons)))
this is used to inform a name is a n-array version of a operator.


5 debug
5.1
here we discuss thd debuger in scheme ,not in edwin.
when a error occur ,in error mode,we can evaluate (debug) to get into debug mode. enter ? can get cmd in debug mode.

g  go into specified subproblems
b  go into specified reductions

5.4 advising procedure
advising will output specified info when proc are runing.
(trace-entry proc) ->(untrace-entry proc)
(trace-exit proc)  ->(untrace-exit proc)
(trace-both proc)  ->(untrace proc)

6 profile


8 Edwin
8.1 Enter edwin
mit-scheme --edit
or in scheme,evaluate (edit)

8.2 leaving edwin

c-x z   stop edwin and back to scheme
c-x c   offer to save buffer,then kill edwin back to scheme
c-x c-c save and exit both sheme and edwin
c-x c-z to stop edwin and suspend scheme ,back to shell

8.3 scheme mode
Edwin has special support for edit and evaluating scheme code.
scheme mode will entered when .scm file opened. file not with .scm extention can place -*-Scheme-*- in the first line. Third execut command alt-x scheme-mode can put any buffer in scheme mode.

C-i    indent current line
C-M-q  indent the expression
C-M-i  auto complete global name
M-/    auto complete
M-A    tip for function's args

8.4 Evaluation
C-x C-e  evaluate the expression to the left of point
M-z      evaluate the definition of that point is in
C-M-z    evaluate all the expr in the region
M-o      evaluate entire buffer

when you evaluate some code ,it will send to repl buffer and run in separate thread. If you want to terminate the evaluation,just use C-c C-c.

If you don't want to use repl for evaluation, set Edwin variable evaluate-in-inferior-repl to #f. Then you can use C-g to stop evaluation.

8.5 repl mode
when edwin start,it open a buffer named *scheme*,which is used as repl.
In the repl line,you can interact with scheme.
C-c C-x abort the evaluation return to current repl level
C-c C-u return to pre repl level
C-c C-b enter to a breakpoint

M-p/n   to up/down the history cmd in repl buffer line

代码转载自:https://pan.quark.cn/s/8ce4326d996e 对于在 CentOS 7 系统中修改网卡配置文件后无法使设置生效的情况,经过实践验证,可以通过使用 nmcli 命令来进行调整。完成修改之后,需要重新启动虚拟机以使更改生效,这样操作流程即告完成。如果设置仍然无法生效,则表明虚拟机在启动过程中所获取的 IP 地址配置并非针对 eth0,此时可以对其它网卡的配置文件进行修改或将其移除。在 CentOS 7 系统中,网络配置的管理机制与早期版本存在差异,主要体现为采用了 Network Manager 服务来负责网络接口的管理。在某些情形下,尽管修改了 `/etc/sysconfig/network-scripts` 目录下的 `ifcfg-eth0` 文件,但网络配置却未能即时生效。此类问题的发生通常源于 CentOS 7 采用了不同于以往的配置读取方法。接下来将具体阐述如何借助 nmcli 命令来处理这一挑战。 以 root 用户身份登录系统并打开终端界面。nmcli 是 Network Manager 提供的命令行界面工具,它支持在命令行环境下执行网络连接的建立、编辑、查询及管理任务。针对修改 eth0 网卡配置的需求,可以遵循以下步骤进行操作: 1. 导航至 `/etc/sysconfig/network-scripts` 目录: ``` cd /etc/sysconfig/network-scripts ``` 2. 检查该目录内是否存在 `ifcfg-eth0.bak` 文件,该备份文件可能是先前调整配置时遗留下来的,若存在可能造成冲突。若发现该文件,可以选择将其删除: ``` [root@localhost netw...
代码转载自:https://pan.quark.cn/s/46fd08fb879c 网管教程 从入门到精通软件篇 ★一。★详尽的xp修复控制台指令及其应用!!! 放入xp(2000)的光盘,安装时选择R,执行修复! Windows XP(涵盖 Windows 2000)的控制台指令是在系统遭遇某些意外状况时的一种极具效用的诊断、检测以及恢复系统功能的工具。笔者确实一直期望能够将这方面的指令进行归纳,此次由老范辛苦整理了这份极具价值的秘籍。 Bootcfg bootcfg 命令用于启动配置与故障恢复(对大多数计算机而言,即 boot.ini 文件)。 带有特定参数的 bootcfg 命令仅在运用故障恢复控制台时方可使用。能够在命令行界面下运用带有不同参数的 bootcfg 命令。 用法: bootcfg /default 设定默认引导选项。 bootcfg /add 向引导清单中增添 Windows 安装。 bootcfg /rebuild 重复整个 Windows 安装流程并让用户选择需添加的项目。 注意:运用 bootcfg /rebuild 之前,应先借助 bootcfg /copy 命令备份 boot.ini 文件。 bootcfg /scan 探查用于 Windows 安装的全部磁盘并展示结果。 注意:这些结果被静态存储,并用于当前会话。若在当前会话期间磁盘配置发生变动,为获取更新的探查结果,必须先重启计算机,然后再次探查磁盘。 bootcfg /list 列示引导清单中已有的项目。 bootcfg /disableredirect 在启动引导程序中禁用重定向。 bootcfg /redirect [ PortBaudRrate] |[ useBio...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值