首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Notepad++中使用SMLNJ编译SML?

如何在Notepad++中使用SMLNJ编译SML?
EN

Stack Overflow用户
提问于 2016-03-21 07:55:10
回答 1查看 2.4K关注 0票数 0

我对SML完全陌生,我不知道如何处理与它相关的任何东西。我应该使用SMLNJ编译器,目前我正在使用Notepad++编写代码。但是如何准确地编译程序呢?我是否在SMLNJ命令行中复制并粘贴代码?或者,是否有一个SMLNJ环境,我实际上可以在其中编码并编译我的代码?请帮帮忙!

EN

回答 1

Stack Overflow用户

发布于 2016-05-15 15:28:55

如果你所说的“编译”指的是“编译成一个独立的可执行文件”原则上,这是可能的,虽然似乎有实际的问题(如优秀的回答细节)。

另一方面,SML/NJ有一个基于命令行的REPL (读-评估-打印-循环),它实际上是一个编译器。它是一个增量编译器 --意思是在当前定义的函数的上下文中编译新定义的函数。在第一阶段,您将尝试直接输入REPL的短片段。您迟早会想要用类似于NotePad++的语言编写代码。只需编写文件,用.sml扩展名保存它,然后在REPL类型中

代码语言:javascript
复制
use "filename"; 

它加载并编译您的定义。

我有时使用的一个技巧如下。在我的文件顶部,我有这样的评论:

代码语言:javascript
复制
(*   val _ = (use "C:/Programs/sets.sml", OS.Process.system "cls");      *)

这里,sets.sml恰好是我的机器上的一个SML文件。编辑完文件后,我保存它,然后将注释的内部(以val开头并扩展到分号)复制到剪贴板,然后将其粘贴到打开的SML中(使用命令窗口的编辑菜单,当单击命令窗口左上角的图标时会弹出)。这将加载定义,并为您提供一个已清除的REPL,以便对您的定义进行实验。

Notepad++似乎缺少SML的语法定义文件(尽管它有一个用于F#的语法定义文件,这可能足够接近)。就我个人而言,我大部分的SML都是使用Textpad完成的。这不是开源,但定价合理的陶器与Notepad++大致相当。从他们的网站,你可以下载一个有用的SML语法定义文件,这做了一个很好的工作,逻辑突出你的代码。我甚至创建了一个Textpad工具(由于未知原因只能偶尔工作),用于自动保存文件、打开SML和调用文件名上的use

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36125649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档