ML一般被归为非纯函数式编程语言,因为它允许副作用和指令式编程。这一点和纯函数式编程语言例如Haskell很不一样。

ML特性有惰性求值的求值策略,一阶类型函数, 带有垃圾收集的自动内存管理, 参数多态,静态数据类型,类型推断,代数数据类型,模式匹配和异常处理。

不像Haskell,ML使用表达式求值,也就是说所有的子表达式总是被求值。导致的一个结果是你不能使用无穷表。然而,惰性求值产生的无穷表可以通过使用匿名函数来模拟。

今天在ML家族中有好几种语言:两种主要的方言是Standard ML和Caml,其他的包括F# - 针对Microsoft .NET平台的开放研究项目。 ML中的思想影响了众多的语言,例如Haskell,Cyclone和Nemerle。  ML的实力大多被用于语言设计和操作(编译器、分析器、定理证明机), 但是它作为通用语言也被用于生化,金融系统,和宗谱数据库,一个P2P的客户/服务器程序等等。

ML可以算一种具备命令式语言特点的函数型语言,或者说面向函数的命令型语言。和Lisp一样,ML具有非常灵活的函数功能。例如一个表达式的值可能就是一个函数,这个函数可以被作为参数传递给另一个函数,或者函数的返回值就是一个函数。同时和Algol类的语言比较接近的是,ML的语法象命令型的,而且用起来象用Algol家族的很多比较新的后代们一样方便。而且ML有并行扩展,可以用来写并行系统;甚至还有面向对象扩展。

John C. Mitchell在他的Concepts in Programming Langugaes一书中使用ML来展示Algol类语言、Lisp类语言、以及并行语言和面向对象语言中的概念。

ML是Robin Milner主管LCF项目时设计的。LCF项目是受Dana Scott给出的一组逻辑原则启发而设立的,致力于开发一种“可计算函数逻辑”(Logic of Computable Functions)。Robin Milner的目标是构造一个方便实用的系统,来自动的或者半自动的证明函数程序中一些有趣的性质。他的LCF项目于1970年在Standford开始,并于1980年代在Edinburge继续进行。期间取得了很多重要进展,并且激发了相关领域的一系列研究工作。

ML是作为LCF项目的元语言(Meta Language)设计的,这也是其名字的来历。它的最初用途是写一些可以生成数学证明的程序。今天,大多数著名的推理系统都是用ML写的。

相关查询: 副作用 这一点 Haskell
最新查询:oec 稍纵即逝 Vibrancy Dielectric 主要项目 5366d0160924ab180903ec1a3cfae6cd7b890b81 纪念堂站 English Nodular aeruinosa Universe Noakhali CONSUMER 对事不对人 社会政治 永隆银行 perfume 芙蓉山 女装正太:我的小小夏之物语 OpticStudio KORTRIGHT Collective Mongolia 进士府 参与者 人工髋关节置换技术管理规范(2012版) 洪煦榆 星杯骑士团 电子琴 至少是 倾世颜本宫誓得帝王爱 Primavera ASP.NET 万里路青年旅社 全同粒子 计划图 经济基础知识:全程应试辅导 ɳü... 扣人心弦 ����ɯ���ݸɰ����Ѿ 不断增长 fmincon һ 未婚夫 经济法 大马士革 ľרҵӢ 筱田美雨 ˮ· pseudomonas Diagnostics namaquensis convertible microvascular irresponsibly biodemography NortonSound 出谋划策 household 平果嘹歌 油面筋线粉汤 碳化物 大儿子 毛毛球 射击训练 民族英雄 板门店 Euyrdice 保护费 明星实习生 建筑工地 龟山镇 ���ǵ�½ 太戊 美联社 Temperate ũ ML语言
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2025 haodianxin 百科 豫ICP备14030218号-3 消耗时间:0.013秒 内存2.82MB