Common Lisp Package: DYNAMIC-COLLECT

README:

FUNCTION

Public

COLLECT (DATA &KEY RETURN (CONTINUEP T) TAG)

Collect the data DATA in a WITH-DYNAMIC-COLLECTION environment. Return the value RETURN from the form in the event the function is returned from. If CONTINUEP is null, then collecting will cease and the matching WITH-DYNAMIC-COLLECTION form will return. The TAG denotes at which WITH-DYNAMIC-COLLECTION form the DATA will be accumulated.

MACRO

Public

WITH-DYNAMIC-COLLECTION ((&KEY TAG) &BODY BODY)

Dynamically collect messages that were signalled during the execution of BODY from COLLECT. Return a list of messages in the order they were collected. If TAG is provided, then only COLLECT forms which have the same tag will be accrued.

GENERIC-FUNCTION

Private

Undocumented

MESSENGER-CONTINUEP (CONDITION)

MESSENGER-ID (CONDITION)

MESSENGER-PAYLOAD (CONDITION)

MESSENGER-TAG (CONDITION)

VARIABLE

Public

*ENSURE-HANDLED-COLLECT*

If T, ensure that COLLECT forms are inside WITH-DYNAMIC-COLLECTION. If NIL, return the specified RETURN value from COLLECT.

CONDITION

Private

MESSENGER

A condition to carry messages between parts of programs.