美文网首页
在Emacs用SML

在Emacs用SML

作者: 波洛的汽车电子世界 | 来源:发表于2018-10-11 01:34 被阅读0次

    概念:

    1. SML: Standard Meta Language 一种标准的函数式编程语言;
    2. M:指 alt键,这儿需要按下alt键,而不是输入'M';
    3. C:指control键,同理;
    4. 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

    1. 进入SML mode: M-x sml-mode
    2. 创建一个*sml的缓冲:C-x C-f *.sml + Reruen/Enter(这儿的*是指文件名);
    3. 如果已经有sml文件了,直接拖进Emacs里;
    4. 在光标处写入 val x = 3 + 4 (换行)val y = x * 5
    5. C-x C-s 保存;
    6. 运行:可以在这个缓冲区运行,C-c C-s + Return,可以看到缓冲器被分离开了。这时,可以在光标处写入一些式子,例如1 +1 ;;Return,可以看到结果;
    7. 在光标处输入use "my.sml"; + Return(my就是当前的文件名),皆可以看到文件里面的程序运行的结果;
    8. 如果要退出 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-ws: 写一个文件

    参考资料:https://www.smlnj.org/doc/Emacs/sml-mode.html

    相关文章

      网友评论

          本文标题:在Emacs用SML

          本文链接:https://www.haomeiwen.com/subject/weqvaftx.html