Assuming DELAY uses a normal LAMBDA, it's pretty simple. The function
for a funcallable instance must be created with INSTANCE-LAMBDA rather
than LAMBDA because a special function prologue is required to set up
the the right execution environment. This would be a pretty tasteless
requirement for a general language feature, but instance lambdas really
were only put in to support CLOS, and were not intended as a general
tasteful facility.
Rob
|