概念:
- SML: Standard Meta Language 一种标准的函数式编程语言;
- M:指
alt
键,这儿需要按下alt键,而不是输入'M'; - C:指
control
键,同理; - Read-Eval-Print Loop:简称REPL,读取﹣求值﹣输出循环,是一个简单的,交互式的编程环境。(来源:维基百科)
安装SML
下载smlnj
,安装,在./base_profile里添加环境变量 export PATH="$PATH:/usr/local/smlnj/bin"
测试是否安装成功:在 terminal
里运行sml
,出现Standard ML of New Jersey v110.80 [built: ...]
则成功。
安装SML mode
在Emacs和SML的结合的模块是 SML mode,直接在emacs 里面安装就可。
步骤:1. 打开Emacs,运行命令M-x list-packages
; 2.找到 sml-mode
并且点击它,然后点击install
,就安装完成了。3.添加环境变量:
C-x C-f ~/.emacs #打开路径文件
#写入下面语句
(setenv "PATH" (concat "/usr/local/smlnj/bin:" (getenv "PATH")))
(setq exec-path (cons "/usr/local/smlnj/bin" exec-path))
C-x C-s #保存
#退出 Emacs, 重启
运行下面的命令行,会从 Emacs buffer 转换到 SML mode: M-x sml-mode
。
我也设置了add-to-list 'auto-mode-alist '("\\.\\(sml\\|sig\\)\\'" . sml-mode
,这样,只要Emac文件里有 ML程序,它会自动跳转到SML mode。(这个设置有问题,后来我删掉了)
使用SML mode
- 进入SML mode:
M-x sml-mode
; - 创建一个
*sml
的缓冲:C-x C-f *.sml
+ Reruen/Enter(这儿的*
是指文件名); - 如果已经有
sml
文件了,直接拖进Emacs里; - 在光标处写入
val x = 3 + 4 (换行)val y = x * 5
; - 用
C-x C-s
保存; - 运行:可以在这个缓冲区运行,
C-c C-s
+ Return,可以看到缓冲器被分离开了。这时,可以在光标处写入一些式子,例如1 +1 ;;
Return,可以看到结果; - 在光标处输入
use "my.sml";
+ Return(my就是当前的文件名),皆可以看到文件里面的程序运行的结果; - 如果要退出 sml mode,输入
C-d
。
Emacs 基本语句
从terminal
打开Emacs :直接输入emacs
。
修改Emac的环境变量:见前面。
C-x C-c
: 退出 Emacs
C-g
: 撤回当前操作
C-x C-f
: 打开一个文件
C-x C-s
: 保存一个文件
C-x C-w
s: 写一个文件
网友评论