Everything2
Near Matches
Ignore Exact
Full Text
Everything2

ML

"ML" is also a: user

created by michaelkvance

(thing) by Blackheart (8.1 y) (print)   ?   1 C! I like it! Tue Apr 25 2000 at 16:22:07

ML is a family of impure, call-by-value, statically typed, polymorphic, higher-order, functional programming languages with advanced parametric module systems whose major representatives are Standard ML and Objective Caml.

ML stands for "metalanguage", since it was first developed (at Edinburgh University) as a means for manipulating proofs in LCF (Logic of Computable Functions), the object language using the Curry-Howard isomorphism.

ML supports parametrizable algebraic datatypes, and is particularly well-known for its type inference feature, and its extremely powerful parametrizable module system. Unlike Haskell, ML supports imperative features like destructive update and exceptions directly; however this reduces some of the polymorphism that would otherwise be available in the language (this is the so-called value restriction).

Objective Caml has only one implementation, which is nevertheless quite well-supported; Standard ML has several, including perhaps most notably the industrial-strength Standard ML of New Jersey, Peter Sestoft's lightweight Moscow ML and MLton, a whole-program optimizing implementation.

ML and its offshoots have inspired, and continue to inspire, the majority of the academic research on (statically) typed functional programming languages.


(thing) by ShadowNode (2.1 y) (print)   ?   I like it! Tue Jun 06 2000 at 11:42:38

Abbreviation of millilitre, a unit of volume equal to 1 1000th of a litre, and also equal to one cubic centimetre, or cc.


(thing) by thbz-gene (3.8 y) (print)   ?   I like it! Fri Dec 01 2000 at 8:30:49

This is the genealogy of the programming language ML:

ML was born in year 1983.
It became SML in year 1984.
Then it begat Caml in year 1987.
It became SML 90 in year 1990.
It became SML '97 in year 1997, and has not changed much since that time.

This genealogy is brought to you by the Programming Languages Genealogy Project.


(thing) by mberman (8.1 mon) (print)   ?   I like it! Fri Jul 13 2001 at 22:17:49

"ML" is an abbreviation of megalitre, a unit of volume equal to 1000000 litres. "mL" is an abbreviation of millilitre, 1 1000th of a litre. Since e2 is case ambiguous, both need to be covered here.

(thing) by PortalCell (1.7 y) (print)   ?   I like it! Tue Jul 17 2001 at 9:33:22

ML is indeed a pretty cool Functional Programming Language. It is a language whose semantics are close enough to those of lamba calculus to make proving things about ML programs in a mathematically rigorous way possible.

I first came across ML as a first-year undergraduate at Cambridge University, where it is used as a teaching language with which very few students have had prior experience (most are already familiar with several imperative languages e.g. C/Pascal).

The first piece of ML code I ever saw was this one:
fun fact 0 = 1
 |  fact n = n * fact (n-1);

This function can be used to calculate the factorial of a positive integer. It should be fairly clear how it works: The language uses a (polymorphic) type checker which interprets the first matching "type instance" satisfied in a function definition (c.f. Prolog clauses!). The | symbol can be read as "or".

Of course, ML gets far more complicated (and exciting!) than this. It has concepts of lazy evaluation and its datatype operator can provide hours of fun.

printable version
chaos

Haskell Objective Caml functional currying functions
SML Caml James Clerk Maxwell Building Millilitre
Moscow ML Curry-Howard Isomorphism Lazy evaluation popularity of isomorphism theorems
All Purpose Cultural Cat Girl Nuku-Nuku Higher-order function Lambda calculus UML
LISP category theory impure The Programming Languages Genealogy Project
Extreme Programming Type Theory nil first isomorphism theorem
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
Drink up!
The Language of Flowers
Marvel Comics
An Argument Against the Abolishing of Christianity
In praise of older women
James Joyce
preserved lemons
X-Men
STS-107
space war
John Brown
Halley's Comet
The Satires of John Donne
Thomas Shadwell
New Writeups
cryforhelp
Major dictionaries of the world(review)
Glowing Fish
The Uncanny X-Men and the New Teen Titans(thing)
WolfKeeper
Launch loop(idea)
TendoKing
Katana(person)
Wuukiee
Highly ornamental cultivars of brambles still have as many thorns as their wild counterparts(idea)
TheDeadGuy
Editor Log: May 2008(log)
everyday j.Lo
pray do not molest them(thing)
ammie
Bands Who Take Their Names from Eighteenth-century English Poetry and Prose(idea)
shaogo
Under My Thumb(review)
ammie
Rock On(person)
The Custodian
The Dresden Files(thing)
Ouzo
PETA becomes you, a proposed future(fiction)
Ereneta
Stone Soup, Part Two(fiction)
jjen
Sorrier than I ever thought I would be(personal)
locke baron
Moskva class antisubmarine cruiser(thing)
Everything 2 is brought to you by the letter C and The Everything Development Company