list comprehension

Get Babylon's Translation Software! Free Download Now!
Babylon 8 - Your all-in-one solution
Award winning translation software trusted by millions. Translate from any language to any language.
View Demo



Wikipedia English The Free EncyclopediaDownload this dictionary
List comprehension
In some programming languages, list comprehension is a syntactic construct for creating a list based on existing lists, analogous to the set-builder notation (set comprehension), that is, the mathematical notation such as the following:For an example, in Haskell's list comprehension syntax, the example set-builder construct above would be similarly written as:s = [ 2*x | x <- [0..], x^2 > 3 ] Here, the list [0..] represents N, and x^2>3 represents the conditional. The example could be read: "S is the list of all 2*x where x is an item in the list of natural numbers, and x squared is greater than 3."
See more at Wikipedia.org...

This article uses material from Wikipedia® and is licensed under the GNU Free Documentation License

FOLDOC DictionaryDownload this dictionary
list comprehension
<functional programming> An expression in a functional language denoting the results of some operation on (selected) elements of one or more lists. An example in Haskell:
[ (x,y) | x syntactic sugar" for a combination of applications of the functions, concat, map and filter. For instance the above example could be written:
filter p (concat (map (\ x -> map (\ y -> (x,y)) [1..x]) [1..6])) where p (x,y) = x+y map (\ y -> (x,y)) [1..x]) [1..6])) where p (x,y) = x+y (x,y)) [1..x]) [1..6])) where p (x,y) = x+y (x,y)) [1..x]) [1..6])) where p (x,y) = x+y < 10
According to a note by Rishiyur Nikhil nikhil@crl.dec.com, (August 1992), the term itself seems to have been coined by Phil Wadler circa 1983-5, although the programming construct itself goes back much further (most likely Jack Schwartz and the SETL language).
The term "list comprehension" appears in the references below.
The earliest reference to the notation is in Rod Burstall and John Darlington's description of their language, NPL.
David Turner subsequently adopted this notation in his languages SASL, KRC and Miranda, where he has called them "ZF expressions", set abstractions and list abstractions (in his 1985 FPCA paper [Miranda: A Non-Strict Functional Language with Polymorphic Types]).
["The OL Manual" Philip Wadler, Quentin Miller and Martin Raskovsky, probably 1983-1985].
["How to Replace Failure by a List of Successes" FPCA September 1985, Nancy, France, pp. 113-146].
(1995-02-22)


(c) Copyright 1993 by Denis Howe

Define list comprehension

Translate list comprehension





| list comprehension in French | list comprehension in Portuguese