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写的。

刚刚查询:ML语言 文代会 涂鸦双轮车 你死定了 三租邑村 司法权 益田村 惊叹不已 褐林鸮斯里兰卡亚种 畅所欲言 天津工业大学管理学院 干辣椒炒牛蛙腿 涡扇-6 张老师 农学会 封闭式问题 资产负债表 多晶硅 心情预测器 大学讲师 肾功能受损 理论基础 欧盟法 滑车神经 传习所 马萨达城堡 益智儿歌(经典童谣儿歌快乐唱Vol.4) 羟汞化反应 教改教研 氰化氢 建国三十周年献礼文艺演出 评审委员 始终保持 阶级矛盾 旅游鞋 叶剑英 名特优 血染轮回 PTL97轮式突击车 成人中专 东南西北 不厌其烦 阿虎枪 打出手 行酒令 动物捉迷藏 ��¶־Ը��Э�� 实用农业试验设计与统计分析指南 多边形 封冻湖 藻红素 香港渔农自然护理署 石桥贵明 枢机主教 һ 太夫人 Phallaceae 短翅硕蝽 belongs 怀化市 达标率 陕西棱子麻将 中挨来村 无障碍 住院患者 马家老鸡铺 面面俱到 °ö 封口类人面蟹 薄弱环节 穷困潦倒 杭锦旗 知心朋友 两性花 李光耀观天下 卷槽村 上海市农业遗传育种重点实验室 赤铁矿 李言 词汇学
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2025 haodianxin 百科 消耗时间:0.006秒 内存2.49MB