

                                                                     choose
                                                                  choose-if

    FUNCTION
CHOOSE BOOLS &optional (ITEMS BOOLS)                             [Function]
CHOOSE-IF PRED ITEMS                                             [Function]

    Package
    series

    DESCRIPTION

Each of these functions takes in a series of elements (ITEMS) and returns a
series containing the same elements in the same order, but with some
elements removed.  CHOOSE removes ITEMS[j] if BOOLS[j] is NIL or J is
beyond the end of BOOLS.  If ITEMS is omitted, CHOOSE returns the non-null
elements of BOOLS.  CHOOSE-IF removes ITEMS[j] if (PRED ITEMS[j]) is NIL.

(CHOOSE #Z(T NIL T NIL) #Z(A B C D)) => #Z(A C) 
(COLLECT-SUM (CHOOSE-IF #'PLUSP #Z(-1 2 -3 4))) => 6


     SEE ALSO
     about-series
     about-generators
     expand

;Copyright 1989 by the Massachusetts Institute of Technology,
;Cambridge, Massachusetts.

;Permission to use, copy, modify, and distribute this software and its
;documentation for any purpose and without fee is hereby granted,
;provided that this copyright and permission notice appear in all
;copies and supporting documentation, and that the name of M.I.T. not
;be used in advertising or publicity pertaining to distribution of the
;software without specific, written prior permission. M.I.T. makes no
;representations about the suitability of this software for any
;purpose.  It is provided "as is" without express or implied warranty.

;    M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
;    ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
;    M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
;    ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
;    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
;    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
;    SOFTWARE.



