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

Human Resources Management System

A Human Resources Management System (HRMS) is a software application that supports many functions of a company's Human Resources department, including benefits administration, payroll,...

How To Defend Yourself Against Identity Theft

Almost every worldwide government agency responsible for identity theft issues will tell you the same thing: The first step to fighting identity theft is...

Infographic

An infographic is a visual representation of information or data. It combines the words information and graphic and includes a collection of imagery, charts,...

Phishing

What is phishing? Phishing is a type of cybercrime in which victims are contacted by email, telephone, or text message by an attacker posing as...

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...