On 3.0.9


> ,optimize ((case-lambda (() 0)))
= 0

but 

> ,optimize ((case-lambda (() 0) ((a) 1)))
= ((case-lambda (() 0) ((a) 1)))


The problem with this is that when the output of a macro contains case-lambda, 
recursive application results in geometrical increase of code size. It seems 
that it should be possible to resolve the application on the spot; at last to 
reduce the case-lambda to a simple lambda when the arity is available (which 
now only happens when the case-lambda contains a single clause).

Thanks

  Daniel





Reply via email to