H Axel, > I noticed the 'daemon function does a fine job distinguishing builtin > C functions from lisp functions. However, it redefines the function to > evaluate all arguments, rather than letting the function decide for
This is done actually not by 'daemon' itself, but by 'expr'. The same mechanism is used for 'trace', btw. 'expr' converts a SUBR function (i.e. a function written in C or assembly which evaluates all its arguments) to an EXPR (a Lisp level function). Unfortunately, it doesn't work with FSUBR functions (C or asm functions _not_ evaluating all arguments). This is generally not possible, due to the way FSUBRs are executed by the interpreter. Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe