Science  People  Locations  Timeline
Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Home > 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 typingIn computer science, a datatype (often simply type is a name or label for a set of values and some operations which can be performed on that set of values. Programming languages implicitly or explicitly support one or more datatypes; these types may act a, type inferenceType inference is a feature predominant in functional programming languages such as Haskell and ML or OCaml. Type inference automatically assigns a type signature onto a function if it is not given. In a sense, the type signature is reconstructed from the, algebraic data types, pattern matchingPattern matching is a feature in functional programming languages such as Haskell and ML. With certain data types implemented in these programming languages, such as a list, the construction of these types form a very definite structure. For example a lis, and exception handlingException handling is a programming language mechanism designed to handle runtime errors or other problems exceptions inside a computer program. Goals of exceptions Exception handling is intended to facilitate use of reasonable mechanisms for handling err. This particular combination of concepts allows to produce one of the best compilers available[1].

Today there are several languages in the ML family; the most popular are SMLThe SML programming language is a modern descendant of the ML programming language used in the LCF theorem-proving project. It is unique among widely used languages in that it has a formal specification, given as an operational semantics in The Definition (Standard ML) and OcamlObjective Caml also known as OCaml or O'Caml for short, is an advanced programming language that is part of the ML family. It is developed and distributed by INRIA. Ocaml was created in 1996 as a successor to Caml Light. Its authors include Xavier Leroy, (Objective Caml). Ideas from ML influenced several other languages, especially ones designed at universities. Examples include CycloneThe Cyclone programming language is intended to be a safe dialect of the C programming language. It is designed to avoid the buffer overflow and other vulnerabilities that are inherent in C, without losing the power and convenience of C as a tool for syst 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.



Read more »

Non User