ML_programming_language ML_programming_language

ML programming language - Definition and Overview

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

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


Example Usage of programming

TickTocKs: An Alarm Clock the Size of Your Bed [Alarm Clocks] | programming Blog: This is exactly what I need: A bed with inte... http://bit.ly/4tkVIF
pauldatta: Conducting a tiny programming test for the #ilc team on #java - difficulty level 2/5, time 30 min, started at 2PM and well, extending time
funwithlinux: #linux #UNIX #geek #nerd #tools #GNU #programming #links #BSD #ubuntu #opensource #delicious #hacks #news #code #computers #software
Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.