Next: , Previous: , Up: Syntax   [Contents][Index]

3.9 Set comprehension expressions

Sets can also be denoted by a set compehension expression. Examples are:

{X**2::X in L & not X in [0,1]}

% Squares of numbers other than 0,1 in  L, duplicates removed.

{A :: exists C, P child_of(C,P) & age_of(C,A) & A<18}

% Set of all the ages of recorded children

The general form of a set comprehension is:

{Expression :: exists VarSequence SimpleConjunction}

where the exists VarSequence is optional.

The constraints on the variables that can be used in a set comprehension are the same as those for a list comprehnesion expression.

VarSequence and SimpleConjunction are as for list comprehensions.