# List comprehension

A list comprehension is a Haskell syntax that is similar to "set comprehensions" or "set-builder notation", ie the notation

[itex]S=\{x|x \in \mathbb{N}, x^2>3\}[itex]

In Haskell list comprehensions this would be written as

S = [ x | x<-[0..], x^2>3]


where [0..] represents N, and x^2>3 represents the conditional. It is clear that the two notations are almost identical.

The Haskell compiler actually converts instances of list comprehensions to expressions involving the higher-order functions map and filter.

For example S above can be written as

S = filter (\x -> x^2 > 3) [0..]


The Python programming language has a near-equivalent mechanism for expressing list comprehensions. Corresponding example would be:

L = range(100) # this produces a list of integers from 0 to 99
S = [x for x in L if x**2 > 3]


• Art and Cultures
• Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
• Space and Astronomy