dcsimg
Main » TERM » M »

ML Definition & Meaning

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.










LATEST ARTICLES
Texting & Chat Abbreviations

From A3 to ZZZ we list 1,559 text message and online chat abbreviations to help you translate and understand today's texting lingo. Includes Top... Read More »

Huge List of Computer Certifications

Have you heard about a computer certification program but can't figure out if it's right for you? Use this handy list to help you decide. Read More »

STUDY GUIDES
Computer Architecture Study Guide

Computer architecture provides an introduction to system design basics for most computer science students. Read More »

Network Fundamentals Study Guide

Networking fundamentals teaches the building blocks of modern network design. Learn different types of networks, concepts, architecture and... Read More »

The Five Generations of Computers

Learn about each of the five generations of computers and major technology developments that have led to the computing devices that we use... Read More »