mit-scheme user manual note
来源:互联网 发布:出国英文翻译软件 编辑:程序博客网 时间:2024/05/17 00:56
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
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
0 0
- mit-scheme user manual note
- User Manual
- MIT Scheme Edwin使用
- mit-scheme cgi编程
- MIT-Scheme用法
- MIT/GNU Scheme
- mit-scheme编译文件
- mit scheme常用命令
- Peersim kademlia manual - note
- MIT C note
- MIT/GNU Scheme 第一日
- mit-scheme编译运行代码
- MIT Scheme 的基本使用
- windows配置 emacs + mit-scheme
- MIT/GNU Scheme用户手册(一)
- MIT/GNU Scheme用户手册(二)
- MIT/GNU Scheme用户手册(三)
- MIT/GNU Scheme用户手册(四)
- C#中的序列化
- swift实战-豆瓣电台
- 人品计算器
- zoj3838浙大月赛 大模拟
- H电-Problem Archive-5110-Alexandra and COS
- mit-scheme user manual note
- monogoDB
- 截止到11.30号最新版本的 adt-bundle & android-sdk_r23.0.2 下载地址
- 安卓自学笔记:17:两个Activity之间的切换
- 手把手教你使用PS切图
- 数据结构与算法5: 递归(Recursion)
- BestCoder Round #20 B
- 标准正态分布alpha分位点
- 图形结构的存储