Emacs的REPL--sml代码的运行

对于任何一种编程语言,除了需要了解如何编写外,还需要了解如何运行以及解决运行中出现的错误(也就是调试)。

在Emacs上编写Standard ML语言,可以使用REPL环境运行sml代码。

REPL时read-evaluate-print-loop的缩写。

快捷键Control-c Control-s进入REPL环境。

快捷键Control-d退出REPL环境。

在REPL环境下可以直接编码运行,也可以使用use filename.sml来运行文件中的代码。

任何一种语言编译或运行时出错可以从三个方面找原因:

syntax语法错误:这个编译阶段就能检测出来。

type-checking类型检查错误:编译阶段检测(没有找到对应的类型,表达式里的类型不对等等)。

Evaluation计算错误:要么产生一个错误的结果(程序逻辑错误),异常错误(链接错误等),无限循环。

在REPL环境里运行sml代码,需要syntax语法完全正确后才进行type-checking类型检查, 在type-checking类型检查完全正确后才进行Evaluation计算。

调试来解决上述问题。

但会存在如下难点:

1. 不知道为什么程序运行错误,特别是程序逻辑上的错误,编译运行报的错误对此没有帮助。

1. 编译运行报错的信息并不是都很直接的,通过报错并不能很快get到问题原因。

在REPL环境下,点击报错信息,会定位到代码文件的报错行。(这个功能Nice)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值