fbpx
维基百科

新泽西Standard ML

新泽西Standard ML(“Standard ML of New Jersey”或简写SML/NJ:新泽西标准元语言),是针对Standard ML编程语言自由且开源编译器和编程环境,它还支持Concurrent ML。除了它的运行时系统是用C写成之外,SML/NJ大部份是用Standard ML写成的。它最初是贝尔实验室普林斯顿大学联合开发的[2]

Standard ML of New Jersey
编程范型多范型函数式指令式模块化
语言家族ML
設計者Andrew Appel英语Andrew Appel, David MacQueen
发行时间1986年,​37年前​(1986
当前版本
  • 110.99.4 (2023年8月1日;穩定版本)
型態系統强类型, 静态, 类型推论
許可證宽松许可证[1]
文件扩展名.sml
網站www.smlnj.org
啟發語言
Standard ML
影響語言
Mythryl

它的名字参考了普林斯顿大学和贝尔实验室所在地新泽西州和在二十世纪早期著名的石油垄断者新泽西标准石油二者。

特征 编辑

SML/NJ向SML'97基础库扩展了一些额外的顶层结构[3]

  • 系统信息:SysInfo结构提供了关于运行时间系统的信息,比如操作系统种类、类型和版本,是否机器支持多处理器[4]
  • 弱指针:Weak结构提供了对弱指针的支持[5]
  • 惰性暂停:Susp结构实现了惰性求值(对立于及早求值)所需的暂停[6]
  • 编译器内部:Internals结构提供了对一些编译器内部的访问,包括实例化和修改信号表格的方法[7]
  • 不安全访问:Unsafe结构提供了对数据结构和运行时间系统函数的不安全访问[8]
  • 可视编译器结构:SML/NJ还包括了提供到ML编译器访问的结构,它包含用于执行剖析、编译器错误信息打印和警告、和可定制的精美打印的子结构[9]

此外,SML/NJ提供了并非SML'97的标准特征的一些语法构造[3]

  • 向量扩展和模式:SML/NJ允许使用#[exp0, exp1, ..., expn−1]语言创建向量,并允许以类似的语法在它们上进行模式匹配。
  • Or模式:SML/NJ扩展了SML'97模式的语法,使用(apat1 | ... | apatn) => exp,允许在一个单一规则中匹配多个模式,这里假定了每个模式都有相同的类型。
  • 目标语言嵌入:SML/NJ提供了引述/反引述(quote/antiquote)语法,它们允许在ML表达式和程序中,有合乎目标语言英语Object language的具体语法的表达式嵌入[10]
  • 高阶模块:SML/NJ在Standara ML的函子形式的参数化模块之外,通过允许函子成为结构的成员而支持函子的参数化。

发展 编辑

“Successor ML”是用来描述ML语言的下一个版本的术语。描述它的文档已经从SML/NJ '97文件中提取出来,并放在GitHub仓库中以便获取为TeX文档,它由期望通过协作增进语言的社群维护[11]。Successor ML特征可以使用命令行选项-Cparser.succ-ml=true来启用[12]

至少从1998年开始[13]MLton成为了标准引导英语Bootstrapping (compilers)编译器[14],它拥有对Successor ML的某些支持[15]

在2008年,开始了在HaMLet上的工作[16],它是完全用Standard ML写成的Successor ML的参考实现[17]。截止2018年,HaMLet仍旧是Successor ML的唯一完整实现,并具有额外的新奇事物[15]

自从2015年[18],SML/NJ的演进侧重发展基础库[19],并在版本110.79的发行中增加了对Successor ML定义的支持[12]

在2020年末尾时,在版本110.99发行中增加了64-bit支持[18]

参见 编辑

  • Extended ML英语Extended ML
  • Dependent ML英语Dependent ML

引用 编辑

  1. ^ Standard ML of New Jersey License. www.smlnj.org. [2021-09-24]. (原始内容于2021-11-10). 
  2. ^ SML/NJ background information. www.smlnj.org. [2018-09-05]. (原始内容于2021-04-20). 
  3. ^ 3.0 3.1 SML/NJ Special Features. www.smlnj.org. [2018-09-05]. (原始内容于2020-08-17). 
  4. ^ The SYS_INFO signature. www.smlnj.org. [2018-09-05]. (原始内容于2021-05-15). 
  5. ^ The WEAK signature. www.smlnj.org. [2018-09-05]. (原始内容于2021-05-15). 
  6. ^ The SUSP signature. www.smlnj.org. [2018-09-05]. (原始内容于2021-07-15). 
  7. ^ The INTERNALS signature. www.smlnj.org. [2018-09-05]. (原始内容于2021-05-15). 
  8. ^ The Unsafe structure. www.smlnj.org. [2018-09-05]. (原始内容于2021-05-15). 
  9. ^ The Visible Compiler. www.smlnj.org. [2018-09-05]. (原始内容于2021-04-27). 
  10. ^ SML/NJ Quote/Antiquote. www.smlnj.org. [2018-09-05]. (原始内容于2021-02-25). 
  11. ^ Successor ML Definition. [2021-09-24]. (原始内容于2020-11-07). 
  12. ^ 12.0 12.1 Standard ML of New Jersey version 110.79 NEWS. 2015-10-04 [2021-09-24]. (原始内容于2020-07-28). 
  13. ^ MLton 1999-03-19 change notes. [2021-09-24]. (原始内容于2021-09-24). 
  14. ^ The MLton repository. [2021-09-24]. (原始内容于2021-10-20). 
  15. ^ 15.0 15.1 Three implementation efforts to support Successor ML. [2021-09-24]. (原始内容于2020-11-07). 
  16. ^ Andreas Rossberg. HaMLet S: To Become Or Not To Become Successor ML (PDF). [2021-09-24]. (原始内容 (PDF)于2021-03-01). 
  17. ^ SML reference interpreter. [2021-09-24]. (原始内容于2021-09-24). 
  18. ^ 18.0 18.1 Standard ML of New Jersey Change Log for v110.99. [2021-09-24]. (原始内容于2021-01-28). 
  19. ^ The Standard ML Basis Library. [2021-09-24]. (原始内容于2021-10-26). 

外部链接 编辑

新泽西standard, standard, jersey, 或简写sml, 新泽西标准元语言, 是针对standard, ml编程语言的自由且开源的编译器和编程环境, 它还支持concurrent, 除了它的运行时系统是用c写成之外, nj大部份是用standard, ml写成的, 它最初是贝尔实验室和普林斯顿大学联合开发的, standard, jersey编程范型多范型, 函数式, 指令式, 模块化语言家族ml設計者andrew, appel, 英语, andrew, appel, david, macque. 新泽西Standard ML Standard ML of New Jersey 或简写SML NJ 新泽西标准元语言 是针对Standard ML编程语言的自由且开源的编译器和编程环境 它还支持Concurrent ML 除了它的运行时系统是用C写成之外 SML NJ大部份是用Standard ML写成的 它最初是贝尔实验室和普林斯顿大学联合开发的 2 Standard ML of New Jersey编程范型多范型 函数式 指令式 模块化语言家族ML設計者Andrew Appel 英语 Andrew Appel David MacQueen发行时间1986年 37年前 1986 当前版本110 99 4 2023年8月1日 穩定版本 型態系統强类型 静态 类型推论許可證宽松许可证 1 文件扩展名 sml網站www wbr smlnj wbr org啟發語言Standard ML影響語言Mythryl它的名字参考了普林斯顿大学和贝尔实验室所在地新泽西州和在二十世纪早期著名的石油垄断者新泽西标准石油二者 目录 1 特征 2 发展 3 参见 4 引用 5 外部链接特征 编辑SML NJ向SML 97基础库扩展了一些额外的顶层结构 3 系统信息 SysInfo结构提供了关于运行时间系统的信息 比如操作系统种类 类型和版本 是否机器支持多处理器 4 弱指针 Weak结构提供了对弱指针的支持 5 惰性暂停 Susp结构实现了惰性求值 对立于及早求值 所需的暂停 6 编译器内部 Internals结构提供了对一些编译器内部的访问 包括实例化和修改信号表格的方法 7 不安全访问 Unsafe结构提供了对数据结构和运行时间系统函数的不安全访问 8 可视编译器结构 SML NJ还包括了提供到ML编译器访问的结构 它包含用于执行剖析 编译器错误信息打印和警告 和可定制的精美打印的子结构 9 此外 SML NJ提供了并非SML 97的标准特征的一些语法构造 3 向量扩展和模式 SML NJ允许使用 exp sub 0 sub exp sub 1 sub exp sub n sub sub 1 sub 语言创建向量 并允许以类似的语法在它们上进行模式匹配 Or模式 SML NJ扩展了SML 97模式的语法 使用 apat sub 1 sub apat sub n sub gt exp 允许在一个单一规则中匹配多个模式 这里假定了每个模式都有相同的类型 目标语言嵌入 SML NJ提供了引述 反引述 quote antiquote 语法 它们允许在ML表达式和程序中 有合乎目标语言 英语 Object language 的具体语法的表达式嵌入 10 高阶模块 SML NJ在Standara ML的函子形式的参数化模块之外 通过允许函子成为结构的成员而支持函子的参数化 发展 编辑 Successor ML 是用来描述ML语言的下一个版本的术语 描述它的文档已经从SML NJ 97文件中提取出来 并放在GitHub仓库中以便获取为TeX文档 它由期望通过协作增进语言的社群维护 11 Successor ML特征可以使用命令行选项 Cparser succ ml true来启用 12 至少从1998年开始 13 MLton成为了标准引导 英语 Bootstrapping compilers 编译器 14 它拥有对Successor ML的某些支持 15 在2008年 开始了在HaMLet上的工作 16 它是完全用Standard ML写成的Successor ML的参考实现 17 截止2018年 HaMLet仍旧是Successor ML的唯一完整实现 并具有额外的新奇事物 15 自从2015年 18 SML NJ的演进侧重发展基础库 19 并在版本110 79的发行中增加了对Successor ML定义的支持 12 在2020年末尾时 在版本110 99发行中增加了64 bit支持 18 参见 编辑Extended ML 英语 Extended ML Dependent ML 英语 Dependent ML 引用 编辑 Standard ML of New Jersey License www smlnj org 2021 09 24 原始内容存档于2021 11 10 SML NJ background information www smlnj org 2018 09 05 原始内容存档于2021 04 20 3 0 3 1 SML NJ Special Features www smlnj org 2018 09 05 原始内容存档于2020 08 17 The SYS INFO signature www smlnj org 2018 09 05 原始内容存档于2021 05 15 The WEAK signature www smlnj org 2018 09 05 原始内容存档于2021 05 15 The SUSP signature www smlnj org 2018 09 05 原始内容存档于2021 07 15 The INTERNALS signature www smlnj org 2018 09 05 原始内容存档于2021 05 15 The Unsafe structure www smlnj org 2018 09 05 原始内容存档于2021 05 15 The Visible Compiler www smlnj org 2018 09 05 原始内容存档于2021 04 27 SML NJ Quote Antiquote www smlnj org 2018 09 05 原始内容存档于2021 02 25 Successor ML Definition 2021 09 24 原始内容存档于2020 11 07 12 0 12 1 Standard ML of New Jersey version 110 79 NEWS 2015 10 04 2021 09 24 原始内容存档于2020 07 28 MLton 1999 03 19 change notes 2021 09 24 原始内容存档于2021 09 24 The MLton repository 2021 09 24 原始内容存档于2021 10 20 15 0 15 1 Three implementation efforts to support Successor ML 2021 09 24 原始内容存档于2020 11 07 Andreas Rossberg HaMLet S To Become Or Not To Become Successor ML PDF 2021 09 24 原始内容存档 PDF 于2021 03 01 SML reference interpreter 2021 09 24 原始内容存档于2021 09 24 18 0 18 1 Standard ML of New Jersey Change Log for v110 99 2021 09 24 原始内容存档于2021 01 28 The Standard ML Basis Library 2021 09 24 原始内容存档于2021 10 26 外部链接 编辑Standard ML of New Jersey 页面存档备份 存于互联网档案馆 Notes on Programming in SML NJ 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 新泽西Standard ML amp oldid 78968108, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。