ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Picolisp latest found at http://www.software-lab.de/down.html | check also http://www.picolisp.com for more information
rob_w has quit [Read error: Connection reset by peer]
karswell_ has joined #picolisp
f8l has quit [Ping timeout: 248 seconds]
f8l has joined #picolisp
orivej has joined #picolisp
Regenaxer has joined #picolisp
alexshendi has quit [Ping timeout: 260 seconds]
rob_w has joined #picolisp
aw- has joined #picolisp
<aw-> hi all
<Regenaxer> Hi aw-
<aw-> the wording for (for) is so confusing
<aw-> as well as the wording for (loop)
<aw-> ex: in (loop): "if the result is NIL or non-NIL, respectively"
<aw-> respectively to what? i don't understand
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
<Regenaxer> oops
<Regenaxer> hihi, yes
orivej has quit [Ping timeout: 260 seconds]
<aw-> Regenaxer: in (loop): "the clause's second element is evaluated as a condition"
<Regenaxer> "has NIL or T"
<aw-> is that 'any ?
<aw-> "'any is evaluated as a condition" ?
<Regenaxer> this is where "respectively" refers to
<Regenaxer> yes, (NIL 'any . prg)
<aw-> ahhh
<Regenaxer> very terse indeed
<aw-> I tried to rephrase so it makes more sense, but it's a bit long: Endless loop with multiple conditional exits: The body is executed an unlimited number of times. If a clause has NIL as its CAR, 'any is evaluated as a condition, and if the result is NIL, 'prg is executed and the result returned. If a clause has T as its CAR, 'any is evaluated as a condition, and if the result is non-NIL, 'prg is executed and the result returned.
<Regenaxer> yeah, contains the same info
<Regenaxer> But then we would need to rewrite many such places
<aw-> hmmm yeah
<aw-> anyways I have another question
<Regenaxer> ok
<aw-> i'm trying to loop infinitely, but return the result only when the result is non-NIL
<Regenaxer> return from an infinite loop?
<Regenaxer> a contradiction? ;)
<aw-> well
<aw-> "infinite"
<Regenaxer> indefinite ;)
<aw-> as long as the result is NIL, it should loop
<Regenaxer> So 'until' is the best
<aw-> i tried that but it doesn't work
<Regenaxer> '@' has the result then
<aw-> (until (prg) @)
<Regenaxer> (until (foo) ...) @
<Regenaxer> or (loop ... (T (foo) @) ...)
<aw-> oh the @ is outside of (until) !
<Regenaxer> yes
<Regenaxer> The '@' rules
<Regenaxer> '@' is set only for non-NIL results
<aw-> ahhhh I was using it in (until) but it would never execute
<Regenaxer> very convenient!
<Regenaxer> yeah
<aw-> awesome! thanks
<aw-> i was close ;)
<Regenaxer> As long as (foo) retursn NIL in (until (foo), '@' is not set
<Regenaxer> When it is set, until exits
<Regenaxer> So that explains your observation
<aw-> right
<aw-> thank you!
<Regenaxer> :)
<aw-> i'm working on something now, but i'm hoping next month I can have time to work on the picolisp docs
<Regenaxer> great!
<Regenaxer> I book would be nice
<Regenaxer> with more explanations
<Regenaxer> the ref is terse, but that's ok I think
<aw-> isn't there a book already?
<Regenaxer> not really
<Regenaxer> only collections of examples
<Regenaxer> The tutorial is too little, and perhaps also outdated
<Regenaxer> s/little/short
<aw-> i think it's quite useful
<aw-> i often use it for reference
<Regenaxer> ok, haven't looked at if for decades perhaps :)
<aw-> actually, one thing would be useful is the full collection of picolisp rosetta code solutions. I don't know if those exist in a single location
<aw-> but every link shows all the other language solutions
<Regenaxer> yes, this is one of the books compiled by Thorsten
<Regenaxer> there is a pointer in the wiki iirc
<aw-> oh really?
<Regenaxer> he made two books
<Regenaxer> but they are now outdated too I suppose
<Regenaxer> Meanwhile tankfeeder made so many more solutions ...!
<Regenaxer> t4nkf33der to be exact ;)
<aw-> right
<aw-> hopefully next month i can jump into the docs some more
<Regenaxer> ok, very good
<Regenaxer> Finished some project?
<aw-> once i finish
<aw-> lots of pil code being written :D
<Regenaxer> true
genas has joined #picolisp
genas has left #picolisp [#picolisp]
<aw-> ok i'm off
<aw-> good night
<Regenaxer> good night aw-
aw- has quit [Quit: Leaving.]
alexshendi has joined #picolisp
alexshendi has quit [Ping timeout: 268 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]