Hi Alex,

Thank you for writing such a thorough reply. I really learned a lot from it=
! :)

PicoLisp's direct-style with fexprs is so different from the
quasiquotation-style with macros I'm used to from other lisps. I was
impressed by the conciseness of your revision:

> =C2=A0 (de mylet "Args"
> =C2=A0 =C2=A0 =C2=A0(bind (cons (cons (car "Args") (eval (cadr "Args"))))
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 (run (cddr "Args")) ) )

Although it seems like some readability is sacrificed by not being
able to name unevaluated arguments in the parameter list. I wish there
was a way to write something like this:

(de mylet ("Val" "Var" . "Args")
 =C2=A0 =C2=A0(bind (cons (cons "Val" (eval "Var")))
 =C2=A0 =C2=A0 =C2=A0 (run (cddr "Args")) ) )

Then again, I'm so biased by the languages I know better. I'm sure the
PicoLisp idioms seem second nature to you by this point.

Thanks again,
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to