ENCYCLOPEDIA 4U .com



Encyclopedia Home Page

Google
  Web Encyclopedia4u.com

 

ML programming language

ML (standing for "Meta-Language") is a general-purpose functional programming language developed by Robin Milner and others in the early 1980s at Edinburgh University. ML is often referred to as an impure functional language, because it permits imperative programming, and therefore, side-effects, unlike other functional programming languages such as Haskell.

Features of ML include automatic memory management through garbage collection, a static type-safe, polymorphic type system, type inference, algebraic data types, pattern matching, and a sophisticated module system with functions on modules (functors).

Type inference is a technique which allows the compiler to determine from the code the type of each variable and symbol used in the program, without having to explicitely declare them. This allows for a compact, yet easily readable code.

Algebraic data types allow to define new types as data structures, and combine them in a hierarchical fashion,

Pattern matching is the capacity for a function to deconstruct algebraic data types, into its different subtypes, in order to apply a particular computation for each subtype.

Today there are several languages in the ML family; the most popular are SML (Standard ML) and Ocaml.

The first ML implementation was written to implement the LCF theorem-proving system. Since then, ML strengths are mostly applied in language design and manipulation (compilers, analyzers, theorem provers), but also in bioinformatics, in financial systems, in a genealogical database, a peer-to-peer client/server program, etc.


This article is a stub. You can help Wikipedia by fixing it.





Content on this web site is provided for informational purposes only. We accept no responsibility for any loss, injury or inconvenience sustained by any person resulting from information published on this site. We encourage you to verify any critical information with the relevant authorities.



Copyright © 2005 Par Web Solutions All Rights reserved.
| Privacy

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "ML programming language".