Dependent type

Dependent types depend on values, not just types

Image: Bernard Gagnon, CC BY-SA 3.0, via Wikimedia Commons

Dependent type

Dependent types depend on values, not just types

Dependent types are a unique feature of type theory that allows the definition of types to be influenced by values. This characteristic enables a more precise and rigorous approach to programming, as it can encode logical quantifiers like "for all" and "there exists" directly into the type system.

Example

A function in a dependent type system might take an integer as an argument and return an array whose length is determined by that integer. For example, a function could be defined as `array : Int -> [Int]`, where `array n` returns an array of length `n`.

Dependent types reduce bugs by allowing programmers to assign types that further constrain the set of possible implementations, leading to more reliable and maintainable code.

Related concepts

One email a day: 5 concepts + the 5 stories that matter →

Swipe through 100 ML concepts daily

Open TickerNews