Create a promise. A promise is a receptacle for a result which is unknown at the time it is created.
MAKE-LOCK (&OPTIONAL NAME)
Creates a lock (a mutex) whose name is NAME. If the system does not support multiple threads this will still return some object, but it may not be used for very much.
%FULFILL (PROMISE FN)
CALL-WITH-UNFULFILLED (BODY-FN13 FUTURE)
FULFILL-FUTURE (FUTURE FN)
DELAY (&BODY BODY)
Create a delay. A delay is a promise which is fulfilled when `force' is called upon it.
FULFILL (PROMISE &BODY BODY)
FUTURE (&BODY BODY)
SPECULATE (&BODY BODY)
WITH-LOCK-HELD ((PLACE) &BODY BODY)
Evaluates BODY with the lock named by PLACE, the value of which is a lock created by MAKE-LOCK. Before the forms in BODY are evaluated, the lock is acquired as if by using ACQUIRE-LOCK. After the forms in BODY have been evaluated, or if a non-local control transfer is caused (e.g. by THROW or SIGNAL), the lock is released as if by RELEASE-LOCK. Note that if the debugger is entered, it is unspecified whether the lock is released at debugger entry or at debugger exit when execution is restarted.