Main Page | Alphabetical index | English Encyclopedia

ML programming language

From Wikipedia, the free encyclopedia.
ML is a general-purpose functional programming language developed by Robin Milner and others in the late 1970s at Edinburgh University, whose syntax is inspired by ISWIM. Historically, ML stands for metalanguage as it was conceived to develop proof tactics in the LCF theorem prover (the language of which ML was the metalanguage is pplambda, a combination of the first-order predicate calculus and the simply-typed polymorphic lambda-calculus). Among functional programming languages, it is most well-known for its use of the Hindley-Milner type inference algorithm, which can infer almost all types without annotation.

ML is often referred to as an impure functional language, because it permits imperative programming, and therefore, side-effectss, unlike purely functional programming languages such as Haskell.

Features of ML include call-by-value evaluation strategy, first class functionss, automatic memory management through garbage collection, parametric polymorphism, static typing, type inference, algebraic data types, pattern matching, and exception handling. This particular combination of concepts allows to produce one of the best compilers available [1].

Unlike Haskell, ML uses eager evaluation, which means that all subexpressions are always evaluated, which means that you cannot use infinite lists per se. However, lazy evaluation and hence infinite lists can be simulated, through use of anonymous functions.

Today there are several languages in the ML family; the most popular are SML (Standard ML) and Ocaml (Objective Caml). Ideas from ML influenced several other languages, especially ones designed at universities. Examples include Cyclone and Nemerle.

An open research project, F# was created. It is a language and compiler targetting the Microsoft .NET platform, with syntax based largely on Ocaml. It is freely available from the F# website.

ML's strengths are mostly applied in language design and manipulation (compilers, analyzers, theorem provers), but ML is also used in bioinformatics, in financial systems, in a genealogical database, a peer-to-peer client/server program, etc.

External links

Major programming languages (more)
Ada | ALGOL | APL | AWK | BASIC | C | C++ | C# | COBOL | Delphi | Eiffel | Fortran | Haskell | IDL | Java | JavaScript | Lisp | LOGO | ML | Objective-C | Pascal | Perl | PHP | PL/I | Prolog | Python | Ruby | SAS | Scheme | sh | Simula | Smalltalk | SQL | Visual Basic



Limit search to: Body and Title Deutsche Seiten Path

Websites for ML
Showing page 1 (1 - 10 of 439 hits) Next »
Conservative ML extension, has type system to enrich ML with restricted form of dependent types, to allow ... verified while compiling. Description, code samples, downloads. Conservative ML extension, has type system to enrich ML with restricted form of dependent types, to allow ...
ML users club at University of Edinburgh: meeting times, mail list, publications, links. ML users club at University of Edinburgh: meeting times ...
O'Caml compiler variant, extends ML polymorphism from parametric to non-parametric (extensional). More ... otherwise: overloading, e.g., type safe value marshalling, ML value printer. O'Caml compiler variant, extends ML polymorphism from parametric to non-parametric (extensional). More ... otherwise: overloading, e.g., type safe value marshalling, ML value printer.
... framework for specification and formal development of Standard ML programs. Description, publications, tool support, education resources. EML ... framework for specification and formal development of Standard ML programs. Description, publications, tool support, education resources.
... into Alice, a statically typed language extending Standard ML with features of Oz. Divided into chapters. Wiki ... into Alice, a statically typed language extending Standard ML with features of Oz. Divided into chapters.
Standard ML compiler. Standard ML compiler.
Standard ML language tutorial. Standard ML language tutorial.
... quick comparison of program fragments in the two ML dialects. A quick comparison of program fragments in the two ML dialects.
In ML, SML. In ML, SML.
ML system for DOS, Linux, Windows. ML system for DOS, Linux, Windows.

Next »

Help build the largest human-edited directory on the web.
Submit a Site - Open Directory Project - Become an Editor
Free thumbnail preview by Thumbshots.org

Search for products at amazon.com:
Search:
Keywords:
amazon.com books on 'ML programming language':
Search at Google.com:
Google
WebCalSky.com Encyclopedia

Suchresultate aus unserem günstigen CalSky-Shop