新泽西州标准ML(SML/新泽西)是一个编译器,交互式系统和标准ML语言的编程环境。本文档是使用SML/NJ在标准ML中编程的部分指南用于新用户。

标准ML编程语言

标准ML语言的主要网站是https://smlfamily.org网站几个非常有用可以使用标准ML编程语言,以及一些在线标准ML教程可用。我们的文学页面总结了这些概述信息来源。

使用新泽西州标准ML

获取并安装SML/NJ软件

SML/NJ是一种免费的开源软件,由BSD 3条款许可证。有关macOS和Windows可下载安装程序的链接,请参阅最新版本位于的索引版本。要从源代码构建当前(旧版)版本,请参阅旧式存储库的README文件

SML/NJ常见问题解答

SML/NJ的常见问题解答位于“暂停开发“因此仍然非常残缺不全。

SML/NJ交互系统

如何开始sml公司:如何编译和运行程序。

编译管理器

SML/NJ编译管理器,厘米、组织和优化编译过程。CM计算并缓存模块之间的依赖关系图。编辑模块并重新编译后,CM将比较新模块的导出类型签名与旧版本相比,最大限度地减少需要重新编译。请参阅CM手册了解详细信息。

SML/NJ错误消息

SML/NJ编译器打印的错误消息的解释(不完整且过时)。

SML/NJ的特殊系统特性

一组结构,包括SMLofNJ公司及其子结构系统SML程序的功能。该组包括结构Cont(续)悬念介绍一流的延续悬浮液分别是。

SML/NJ的语言扩展

SML/NJ支持对标准ML语言的一些扩展,例如记录表达式和模式、OR模式以及高阶函子。

这个编译器结构

此结构包含用于控制编译器和交互系统的操作,以及接口SML/NJ编译器的各个阶段。

SML’97转换指南

标准ML'97语言几乎兼容,但不完全兼容SML/NJ的早期版本支持1990年的定义。在极不可能的情况下,需要在引入标准ML’97,本转换指南解释了差异,并举例说明如何将SML’90码转换为SML’97码。

图书馆

标准ML基础库

这个库由类型、函数和接口组成是ML标准的一部分,包括用于I/O、操作系统接口、整数运算、实数运算、,和单词(无符号整数)、数学函数、操作字符串和子字符串等。

新泽西州图书馆标准ML

SML/NJ库包含库和实用程序函数不是标准标准的一部分。SML/NJ库包括二进制搜索树、可调整数组、,以及Util目录中其他有用的数据结构。这个Unix目录提供了其他特定于Unix的功能,而HTML目录支持处理网页。

编程工具和库

ML-Lex(ML-Lex)

一个类似于经典Unix-lex的词汇分析器生成器。

ML-Yacc公司

一个类似于经典Unix yacc的解析器生成器,但带有语法错误修复功能。

\\[JHR?]需要更好、更完整的链接描述,即pdf手册。ml-lpt(百万磅)::用于生成lexer和解析器的一组较新的库。

\\这似乎是CML的正确链接。并发ML::向SML添加并发性的库。

\\这是eXene的最佳链接吗?eXine公司::基于X-windows的图形界面工具包。

\\此项应替换为nlfi的链接和说明。SMLNJ-C/index.html[SML/NJ C接口库]::Lorenz Huelsbergen构建到C的SML接口库库和程序。(被马蒂亚斯·布鲁姆的nlffi取代。)

\\MLRISC缺少链接。可以链接到纽约大学科技报告pdf。MLRISC:传统的SML/NJ编译器使用了Lal George和Allen Leung的MLRISC代码生成框架(目前仅用于AMD64=x86-64)。

\\这似乎是Emacs sml模式的最新链接。Emacs编辑和交互支持::Matthew J.Morley为emacs编辑器系列提供的sml模式,目前维护作者:斯特凡·莫尼尔。