Hi, list!

First I'd like to say that I'm having a blast playing around with PicoLisp lately. (It only took me about seven years to get around to it!) The fact that it exists and work as well as it does is a fresh and bold counterpoint to the conventional wisdom of the current programming language design canon. I love it.

Anyhow, there are a few things that the Common Lisper in me find a bit puzzling:

First off, I'm confused about what the correct way of doing local exits. There's no "return" or "return-from" -- instead the closest thing I've found is "quit", which is sort of akin to "error" in CL, but without the jump into the condition-system. It feels wrong. Is it wrong?

Then there's the conditional exits in "for", "do" and "loop" which presents a real problem if you wish to terminate the loop from within a sub-clause:

    (for X (1 2 3 4 5)
      (let Y (mumble-mumble X)
         (NIL Y (println "this doesn't work"))))

What's the correct way of doing this? Throw the value and catch it right outside of the for-loop?

I'm also a pathological meta-programmer, and the lack of macros doesn't bother me as much as I thought it would. However, one thing I miss from other lisps is a way of expanding macros. How would I go on about doing that in PicoLisp?

/ Johan

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

Reply via email to