ML

ML, short for Meta Language, is a general-purpose functional programming language. It’s statically scoped, meaning that a variable always refers to its top-level environment. ML can be referred to as an impure functional language because it allows side effects, which most functional programming languages do not allow. A side effect is when a procedure changes a variable from outside its scope.

Like most programming languages, ML uses eager evaluation, so an expression is evaluated as soon as it’s bound to a variable. This is in direct opposition to lazy evaluation. However, lazy evaluation can still be achieved through the use of closures. ML is used for meta-programming, or writing programs that manipulate other programs. ML is known for its use of the Hindley-Milner type system, which automatically assigns the types of most expressions without requiring explicit type annotations and ensures type safety. ML is also used for:

  • Scientific applications
  • Theorem providers
  • Analyzers, compilers, and programming languages
  • Financial systems applications
  • Bioinformatics and genealogical databases

Features of ML

ML is a strictly-typed language, meaning that a well-typed language will not cause runtime type errors. It features an automatic memory management system through garbage collection, so memory is automatically allocated and freed by the compiler. Parametric polymorphism is supported, meaning a single polymorphic function can be written to take a parameter of any compatible type. Other features include:

  • First-class functions
  • Static typing
  • Type interference
  • Pattern matching for functional arguments
  • Exception handling
  • Algebraic data types

ML is also the abbreviation for machine learning, a type of data analysis that uses algorithms to learn from data.






Abby Braden
Abby Braden
Abby Braden is an award-winning writer and editor for websites such as TechnologyAdvice.com, Webopedia.com, and Project-Management.com, where she covers technology trends and enterprise and SMB project management platforms. When she’s not writing about technology, she enjoys giving too many treats to her dog and coaching part-time at her local gym.

Related Articles

@ Sign

Pronounced at sign or simply as at, this symbol is used in e-mail addressing to separate the user' name from the user's domain name,...

Munging

(MUHN-jing) Munging (address munging), is the act of altering an email address posted on a Web page to make it unreadable to bots and...

How to Create an RSS Feed

In the second installment of RSS how-to, we look at some of the nonrequired (optional) channel and item tags, discuss RSS specifications in-depth and...

Dictionary Attack

(n.) (1) A method used to break security systems, specifically password-based security systems, in which the attacker systematically tests all possible passwords beginning with...

ScalaHosting

ScalaHosting is a leading managed hosting provider that offers secure, scalable, and affordable...

HRIS

Human resources information system (HRIS) solutions help businesses manage multiple facets of their...

Best Managed Service Providers...

In today's business world, managed services are more critical than ever. They can...