

                                                                     latch

    FUNCTION
LATCH ITEMS &key :AFTER :BEFORE :PRE :POST                       [Function]

    Package
    series

    DESCRIPTION

The series returned by LATCH is the same as the input series ITEMS except
that some of the elements are replaced by other values.  LATCH acts like a
LATCH electronic circuit component.  Each input element causes the creation
of a corresponding output element.  After a specified number of non-null
input elements have been encountered, the latch is triggered and the output
mode is permanently changed.

The :AFTER and :BEFORE arguments specify the latch point.  The latch point
is just after the :AFTER-th non-null element in ITEMS or just before the
:BEFORE-th non-null element.  If neither :AFTER nor :BEFORE is specified,
an :AFTER of 1 is assumed.  If both are specified, it is an error.

If a :PRE is specified, every element prior to the latch point is replaced
by this value.  If a :POST is specified, every element after the latch
point is replaced by this value.  If neither is specified, a :POST of NIL
is assumed.

(LATCH #Z(NIL C NIL D E)) => #Z(NIL C NIL NIL NIL) 
(LATCH #Z(NIL C NIL D E) :BEFORE 2 :POST T) => #Z(NIL C NIL T T)


     SEE ALSO
     about-series
     about-generators

;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.



