actually, you could just put the function (mumble-mumble X) in the place of Y: (for X (1 2 3 4 5) (NIL (mumble-mumble X) (println "this does not work")) )
On Thu, Jul 12, 2018 at 9:27 PM Bruno Franco <brunofrancosala...@gmail.com> wrote: > Well, for the conditional exit in the iterators (for, do, and loop), > I would do something like this: > (use Y > (for X (1 2 3 4 5) > (setq Y (mumble-mumble X)) > (NIL Y (println "this does not work")) ) ) > > Though I'm not sure that is the most elegant way to go XD. > > As for the local exits, maybe an example of when you wanted to do one > in picolisp would be useful to point you in the right direction. > > And the macros, here's a page that can help you find your way > around not having them: > https://picolisp.com/wiki/?macros > > also see the functions 'fill and 'macro. > 'fill replaces each occurence of a pattern @Pat with its value in the > list that you give it, and 'macro does the same, but evaluates the > resulting list too. > > Hope this helps! > > > On Thu, Jul 12, 2018 at 1:34 PM Johan Persson <j...@bahnhof.se> wrote: > >> 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 >> >