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
最新查询:中国银行信用卡中心 农业部科技发展中心植物新品种测试处 施巴拉古大师 两口子 寻人启事 ɫʯ 交流电力 KarlDiebitsch 初生儿多维葡萄糖 农林科学院宿舍 明察秋毫 开源节流 �Ϻ��ܰ�·����г� 鼻窦炎 中华人民共和国耕地占用税暂行条例实施细则 架子管 cs_assault 胡志明市 收录在 鉴定组 自感现象 回报率 乙酸乙酯 昆仑银行 保险费 追随亚历山大大帝 惊艳之旅 梨形环棱螺 设计基础课题练习:色彩构成 fragrans 华南地区 日照市 二氧化碳 武汉市商务局 当琵琶遇上千惠子对话Ⅲ 线路板 香石藤叶 穿山甲 辅导性 蒸腾作用 张国焘 琐罗亚斯德教 五块石汽车站 VGA接口 次氯酸 Crafter ݹ 微画雕 Fantasy Masters Quad HD 肚丝炒刺嫩芽 雅培 作物气象 Phodopus 冰糖香蕉汁 侯东蕾 白色人种 宇宙学 军官·沃菲尔德 做起来 欧宝GT 足球盛宴 Council therapy 真双子叶植物 个人信用报告查询业务 直到天际 行政法院 经纶世务者 ϯ־�� 莫扎特暗符 Vairocana 热等静压 印度尼西亚锡纳朋火山爆发 经济部门 握不住的他 共和县 自磨式硬质合金钻头 ML语言
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2025 haodianxin 百科 豫ICP备14030218号-3 消耗时间:0.208秒 内存2.82MB