ml编程
⑴ 什么叫ML
1. milliliter 毫升,计量单位。
2. ml 是中国大陆人创造发明英文 "make love" 的缩写,中文就是做爱的意思。有些无知的人,认为这样写比较"含蓄"。他们却不知道在中国古代,早已有一些含蓄的词汇来表达同样的意思。例如: 房事,云雨一番,同房,等。显示出,现代中国人对自己国家的古代文化的缺乏。常见于中国大陆网站,香港、台湾的网站也不多见。因为既不是拼音,也不是正规的英文缩写。导致很多懂英文,懂中文的人看了,一头雾水。还要问别人,才知道是什么意思。显然违反了语言是用来沟通的基本用途。而且有些人和别人完全是金钱交易,绝对不是做爱,居然也称自己 ml 如何,如何。简直就是糟蹋做爱的崇高含义!
在讲英文的国家,ml 并不代表做爱的意思。一般英文日常用语中, ml 仅代表 milliliter,毫升的意思。在英文字典中,并没有做爱这个解释。一般人用 "have sex","sexual intercourse",或者那个F开头的单词,等等。即使在网络上, 最简单的说法就是 sex。可以说,ml 这个缩写完全就是中式英语(英文:Chinglish),完全就是中国人创造发明的。在中国,请不要用英文缩写,容易引起不必要的误解。何况很多人连中文都没有学好。
堂堂中华,号称有几千年历史。几千年的中华文化,没有这些不伦不类的词语,是一样的灿烂辉煌!曾几何时,在当代中国,中国人对自己国家的文字缺乏兴趣。因此喜欢引用英文单词。(例如:pk,vs,wc,等。)其实是对自己文字的一种糟蹋。是否,以后的中文字典里,还要加入外文单词的解释呢?更何况,ml 在英文国家并没有这个意思。而且,中文已经有"房事","做爱"等词。如此下去,中文是否很快就会象日文一样,变得乱七八糟了呢?正如同韩国人的端午节在2005年,被联合国教科文组织正式确定为" 人类口头和非物质遗产代表作"。如果中国人继续糟蹋自己的文字,有朝一日,中文恐怕也会被韩国人申请为他们的文化遗产了。 因此,强烈建议大家为了珍惜自己国家的文化,捍卫中华文化,保卫中国字的完美无缺! 爱国从自己做起,从现在做起,写中文的时候只用汉字。
3.machine language 机器语言, makeup language 例如: html
4.machine learning, 人工智能里面的机器学习
4.mali 非洲的马里共和国的国家代号缩写
5.millilambert 毫郎伯(亮度单位)
6.Merrill Lynch 投资银行
7.游戏《实况足球》中的大师级联赛:Master League 的简称也叫ML
编辑本段ML语言
ML 是一个通用的函数式编程语言,它是由爱丁堡大学的Robin Milner及他人在二十世纪七十年代晚期开发的。它的语法是从ISWIM得到的灵感。作为元语言的ML是为了帮助在LCF定理证明机中寻找证明策略而构想出来的。(之前的元语言是pplambda,它联合了一阶逻辑演算、多态及Λ演算)。它使用了Hindley-Milner类型推论算法来推测大多数值的类型,而不需要四处使用注解
⑵ ML语言的ML编程环境的配置
在Windows环境下使用Emacs作为ML的集成开发环境。下面关于Emacs和SML在Windows下的配置说明其实同样适合于各种Unix类操作系统)。这里有一副抓图:在左边的frame中编辑好SML源程序后,按下C-c C-b,程序就交付给运行在右边frame中的SML编译器了。你也可以直接在右边的frame中交互式的输入SML程序。
为了配置这个环境我安装了GNU Emacs for Windows(你也可以用XEmacs for Windows)、SML编译器SML/NJ(你也可以用其他编译器,比如Moscow ML,Poly/ML)、Emacs的SML mode。安装和配置步骤如下:
下载和安装GNU Emacs for Windows
下载和安装SML New Jersey编译器
下载和安装Emacs的SML major mode。具体的方法如下:
在你的Emacs安装目录(例如F:Program Filesemacs-21.3)下建一个子目录叫site-lisp。如果已经有了就不用建了。
在其中建一个子目录叫sml-mode
将你下载的SML major mode压缩包解开,将其中所有.el文件拷贝到site-lisp/sml-mode子目录下
编辑site-lisp中的site-start.el,加入两行:
(add-to-list 'load-path F:/Program Files/emacs-21.3/site-lisp/sml-mode)
(load sml-mode-startup)
在PATH环境变量里包含SML编译器所在的目录。我的是f:smlin。
启动Emacs后,敲 M-x run-sml就可以在Emacs中启动一个SML交互环境。
如果用 M-x sml-mode就将当前buffer的major mode设置为sml-mode,你会发现其中的SML代码被语法高亮显示了。如果没有语法高亮,你可以在Emacs的配置文件(对于Windows版本的GNU Emacs和XEmacs而言是C:.emacs,对Unix版本的是~/.emacs)中加入一行:
Syntax highlight
(global-font-lock-mode t)

⑶ ML语言的ML语言简介
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有两个发展分支:Standard ML和Caml。
大多数SML编译器的行为方式都是交互式的:用户一条一条输入语句,编译器一一给出反馈。看起来象Logo或者Basic解释器一样。但是其实用户输入的程序是被先编译再执行的(其中细节大家可以从SML/NJ编译器的相关文档和论文中找到)。

