Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap

recursive type

You are here: irt.org | FOLDOC | recursive type

A data type which contains itself. The commonest example is the list type, in Haskell:

	data List a = Nil | Cons a (List a)

which says a list of a's is either an empty list or a cons cell containing an 'a' (the "head" of the list) and another list (the "tail").

Recursion is not allowed in Miranda or Haskell synonym types, so the following Haskell types are illegal:

	type Bad = (Int, Bad)
	type Evil = Bool -> Evil

whereas the seeminly equivalent algebraic data types are acceptable:

	data Good = Pair Int Good
	data Fine = Fun (Bool->Fine)

Nearby terms: recursive descent parser « Recursive Functional Algorithmic Language « Recursive Macro Actuated Generator « recursive type » Red » Red Book » Red Brick Intelligent SQL

FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL

©2018 Martin Webb