Algebraic Data Type
===================
```Example from 1 languages: TypeScript
declare type numOrString = string | number
```
```Example from 1 languages: Coconut
data Empty()
data Leaf(n)
data Node(l, r)
def size(Empty()) = 0
addpattern def size(Leaf(n)) = 1
addpattern def size(Node(l, r)) = size(l) + size(r)
```
*
Languages *with* Algebraic Data Type include TypeScript, Coconut
*
View all concepts with or missing a *hasAlgebraicTypes* measurement
http://pldb.info/../lists/explorer.html#columns=rank~id~appeared~tags~creators~hasAlgebraicTypes&searchBuilder=%7B%22criteria%22%3A%5B%7B%22condition%22%3A%22null%22%2C%22data%22%3A%22hasAlgebraicTypes%22%2C%22origData%22%3A%22hasAlgebraicTypes%22%2C%22type%22%3A%22num%22%2C%22value%22%3A%5B%5D%7D%5D%2C%22logic%22%3A%22AND%22%7D missing
http://pldb.info/../lists/explorer.html#columns=rank~id~appeared~tags~creators~hasAlgebraicTypes&searchBuilder=%7B%22criteria%22%3A%5B%7B%22condition%22%3A%22!null%22%2C%22data%22%3A%22hasAlgebraicTypes%22%2C%22origData%22%3A%22hasAlgebraicTypes%22%2C%22type%22%3A%22num%22%2C%22value%22%3A%5B%5D%7D%5D%2C%22logic%22%3A%22AND%22%7D with
*
Read more about Algebraic Data Type on the web: 1.
https://en.wikipedia.org/wiki/Algebraic_data_type 1.
Built with Scroll v178.2.3