www.delorie.com/gnu/docs/guile/guile_447.html   search  
 
Buy GNU books!


Guile Reference Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

39.3.6 Filtering and Partitioning

Filtering means to collect all elements from a list which satisfy a specific condition. Partitioning a list means to make two groups of list elements, one which contains the elements satisfying a condition, and the other for the elements which don't.

Scheme Procedure: filter pred lst
Scheme Procedure: filter! pred lst
Return a list containing all elements from lst which satisfy the predicate pred. The elements in the result list have the same order as in lst. The order in which pred is applied to the list elements is not specified.

filter! is allowed, but not required to modify the structure of

Scheme Procedure: partition pred lst
Scheme Procedure: partition! pred lst
Return two lists, one containing all elements from lst which satisfy the predicate pred, and one list containing the elements which do not satisfy the predicated. The elements in the result lists have the same order as in lst. The order in which pred is applied to the list elements is not specified.

partition! is allowed, but not required to modify the structure of the input list.

Scheme Procedure: remove pred lst
Scheme Procedure: remove! pred lst
Return a list containing all elements from lst which do not satisfy the predicate pred. The elements in the result list have the same order as in lst. The order in which pred is applied to the list elements is not specified.

remove! is allowed, but not required to modify the structure of the input list.


  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003