ML programming language

   

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-effects, unlike purely functional programming languages such as Haskell.

Features of ML include call-by-value evaluation strategy, first class functions, 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] (http://shootout.alioth.debian.org/).

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.

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

  1. Comparison of the speed of various languages (http://shootout.alioth.debian.org/)


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


es:ML fr:Meta language ja:プログラミング言語ML ru:ML




Retrieved from "http://www.mywiseowl.com/articles/ML_programming_language"

This page has been accessed 1111 times. This page was last modified 06:23, 20 Nov 2004. All text is available under the terms of the GNU Free Documentation License (see Copyrights for details).