Dependent ML

(Learn how and when to remove this message)

Dependent ML is an experimental, multi-paradigm, general-purpose, high-level, functional programming language proposed by Hongwei Xi (Xi 2007) and Frank Pfenning. It is a dialect of the programming language ML. Dependent ML extends ML by a restricted notion of dependent types: types may be dependent on static indices of type Nat (natural numbers). Dependent ML employs a constraint theorem prover to decide a strong equational theory over the index expressions.

DML's types are not dependent on runtime values - there is still a phase distinction between compilation and execution of the program.[1] By restricting the generality of full dependent types type checking remains decidable, but type inference becomes undecidable.

Dependent ML has been superseded by ATS and is no longer under active development.

References

  1. ^ Aspinall & Hofmann 2005. p. 75.

Further reading

External links

  • v
  • t
  • e
ML programming
Software
Implementations,
dialects
Caml
  • OCaml°
    • Eff
    • F*°
    • F#°
    • JoCaml°
    • Reason°
Standard ML
Dependent ML
  • ATS°
Programming tools
Theorem provers,
proof assistants
Community
Designers
  • Lennart Augustsson (Lazy ML)
  • Damien Doligez (OCaml)
  • Gérard Huet (Caml)
  • Xavier Leroy (Caml, OCaml)
  • Robin Milner (ML)
  • Don Sannella (Extended ML)
  • Don Syme (F#)
  • Italics = discontinued
  • ° = Open-source software
    Book Category:Family:ML Category:Family:OCaml Category:Software:OCaml

  • Stub icon

    This programming-language-related article is a stub. You can help Wikipedia by expanding it.

    • v
    • t
    • e