The history of Standard ML

The history of Standard ML
复制标题

标准机器学习的历史

DOI:
10.1145/3386336
复制
发表时间:
2020
影响因子:
--
通讯作者:
John H. Reppy
John H. Reppy
中科院分区:
--
文献类型:
--
作者:
David B. MacQueen;R. Harper;John H. Reppy

文献摘要

参考文献

被引文献

相似文献

严格函数语言的ML家族,包括F#、OCaml和标准ML,是从20世纪70年代由Robin米尔纳和他在爱丁堡大学的研究小组开发的LCF定理证明系统的Meta语言发展而来的。本文重点介绍标准ML的历史,它在这个语言家族中扮演着核心角色,因为它是第一个包含我们现在与“ML”这个名字相关联的完整功能集(即,多态类型推断、具有模式匹配的数据库、模块、异常和可变状态)。标准ML和ML语言家族对编程语言的设计和理论产生了巨大的影响。ML是具有严格求值(按值调用)和静态类型的函数式编程语言的最重要范例。参数多态在其类型系统中的使用,以及这种类型的自动推理,影响了各种现代语言(多态通常被称为泛型)。它推广了利用模式匹配进行关联案例分析的数据库思想。标准ML的模块系统将类型级参数化的概念扩展到大规模编程,并引入了参数模块或函子的概念。标准ML也开创了一个先例,它的设计包括一个形式化定义和相关的数学证明元理论(如类型系统的可靠性)。一个正式的定义是项目一开始就明确的目标之一。虽然以前的一些语言有严格的定义,但这些定义并不是设计过程的组成部分,形式部分仅限于语言语法和可能的动态语义或静态语义,但不是两者兼而有之。本文涵盖了ML的早期历史,随后定义标准ML语言的努力,以及其主要功能和形式定义的发展。我们还回顾了该语言对编程语言研究的影响。
The ML family of strict functional languages, which includes F#, OCaml, and Standard ML, evolved from the Meta Language of the LCF theorem proving system developed by Robin Milner and his research group at the University of Edinburgh in the 1970s. This paper focuses on the history of Standard ML, which plays a central role in this family of languages, as it was the first to include the complete set of features that we now associate with the name “ML” (i.e., polymorphic type inference, datatypes with pattern matching, modules, exceptions, and mutable state). Standard ML, and the ML family of languages, have had enormous influence on the world of programming language design and theory. ML is the foremost exemplar of a functional programming language with strict evaluation (call-by-value) and static typing. The use of parametric polymorphism in its type system, together with the automatic inference of such types, has influenced a wide variety of modern languages (where polymorphism is often referred to as generics). It has popularized the idea of datatypes with associated case analysis by pattern matching. The module system of Standard ML extends the notion of type-level parameterization to large-scale programming with the notion of parametric modules, or functors. Standard ML also set a precedent by being a language whose design included a formal definition with an associated metatheory of mathematical proofs (such as soundness of the type system). A formal definition was one of the explicit goals from the beginning of the project. While some previous languages had rigorous definitions, these definitions were not integral to the design process, and the formal part was limited to the language syntax and possibly dynamic semantics or static semantics, but not both. The paper covers the early history of ML, the subsequent efforts to define a standard ML language, and the development of its major features and its formal definition. We also review the impact that the language had on programming-language research.
嵌套并行程序中的解开
DOI: 10.1145/3371115
发表时间: 2020
期刊: ACM
影响因子: --
作者:
Westrick, S;Yadav, R;Fluet, M;Acar, U
通讯作者: Acar, U