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

Reply via email to