What's ML?

What is ML?

ML is a programming language originally developed at the University of Edinburgh around twenty years ago. There are now two variants: Standard ML (also known as SML), which has a formal definition most recently revised in 1997, and O'Caml, developed at INRIA in Paris.

What is ML like?

ML is a high-level language that abstracts away from the machine so that the programmer doesn't have to worry about low-level details like memory management, data representation and pointer chasing. It therefore has advantages of increased productivity, clearer and more maintainable code, and fewer errors. Its features include:

 Static type checking and type inference
 Garbage collection
 Exception handling
 Parameterized types and parametric polymorphism
 Recursive datatypes and pattern matching
 Mutable references
 First-class functions
   Sophisticated module system with parameterized modules

What is ML good for?

ML is particularly good for language-processing, hence its widespread use amongst the research community in compilers, interpreters, program analysis tools, theorem provers and formal verifiers. But the advantages listed above make it useful for many applications.

What is SML.NET?

SML.NET is a Standard ML compiler developed at Microsoft Research Cambridge that targets the .NET Common Language Runtime (CLR). It's very easy to use: tell it where your source code lives, give it the name of a "root" structure, and it produces an assembler file which it then runs through the CLR assembler to produce an executable or DLL. The code that it produces is verifiable.

What is F#?

F# is a variant of ML with a core language akin to that of the OCaml programming language. F# runs on top of the .NET Framework and in many ways the language is designed to be an "ML that fits with .NET". F# includes extensions for working across languages, and the aim is to have it work together seamlessly with C#, COmega, Visual Basic, SML.NET and other .NET programming languages and tools. It is the first ML language where all the types and values in an ML program can be accessed from some significant object-oriented imperative languages (e.g. C#) in a predictable and (reasonably) friendly way.

转载于:https://www.cnblogs.com/Laser_Lu/archive/2004/12/13/76246.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值