On Mon, Sep 05, 2011 at 02:46:54PM +0200, Alexander Burger wrote:
> 1. I would put these three expressions into "lib.l"
> ...
>    (de dp "Args"
>       (push *Class "Args")
>       (let "@Msg" (car "Args")
>          (def "@Msg"
>             (curry ("@Msg") @
>                (if (method '"@Msg" '"Context")
>                   (pass @)
>                   (quit "Not in context" '"@Msg") ) ) ) ) )

The invocation of dynamic package functions can be sped up considerably
if we use 'send' directly (at the expense of a perhaps less beautiful
error message):

   (de dp "Args"
      (push *Class "Args")
      (let "@Msg" (car "Args")
         (def "@Msg"
            (curry ("@Msg") @
               (pass send '"@Msg" '"Context") ) ) ) )

Cheers,
- Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to