ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
DKordic has quit []
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 258 seconds]
Blukunfando has quit [Ping timeout: 260 seconds]
Blukunfando has joined #picolisp
rob_w has joined #picolisp
orivej has joined #picolisp
mtsd has joined #picolisp
mtsd has quit [Ping timeout: 265 seconds]
mtsd has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
mtsd has quit [Quit: Leaving]
rob_w has quit [Quit: Leaving]
orivej has joined #picolisp
dexen has joined #picolisp
libertas has quit [Quit: ZNC - https://znc.in]
<tankf33der> both versions of my the most complex btree code passed in pil21.
<tankf33der> ok.
<beneroth> great!
<dexen> hello
<dexen> what is the proper idiom for adding a "cleanup" handler to catch/throw, so it gets executed after the exception?
<tankf33der> dexen: try this
DKordic has joined #picolisp
<Regenaxer> tankf33der, thanks a lot!
<Regenaxer> dexen, I think you mean 'finally' ?
<dexen> i mean somethign like the catch ( ...) { ... } clause of C-like languages
<tankf33der> test for finally:
<Regenaxer> dexen, there is no such clause in Lisp. You can handle this via returned values for example
<Regenaxer> i.e. what you 'throw' and/or what you return from the 'catch' body
<dexen> great thanks that solves the problem
<Regenaxer> :)
<beneroth> dexen, be aware that (catch 'string ...) is for catching error messages issued by (quit) while (catch 'symbol ...) is for catching (throw). error handling and (throw) similar but are separate mechanisms in PicoLisp.
<dexen> alright makes sense. my case was more of a nonlocal jump so all good.
<Regenaxer> beneroth, not completely correct. It is (catch (list of symbols) ...
<Regenaxer> string and symbol is the same
<beneroth> right, thanks for the correction!
<Regenaxer> :)
<Regenaxer> It makes a lot sense to throw a transient symbol (= string) to some local tag
<Regenaxer> cause comparison is '=='
orivej has quit [Ping timeout: 272 seconds]
beneroth has quit [Quit: Leaving]
<tankf33der> done:
<tankf33der> goal of the repo achieved.
<Regenaxer> congratulation!
<Regenaxer> good old **Mod ;)
<dexen> (ht:Fmt) performs url encoding
<dexen> is there an opposite helper, to perform url *decoding*?
<Regenaxer> Yes, some helper functions on the server side
<Regenaxer> in @lib/http.l
<Regenaxer> ht:Fmt does more than normal URL encoding. It encodes PicoLisp data types, like internal and internal symbols, numbers and (one-dimensional) lists
<dexen> alright. also found the (ht:Pack ... T) does what i needed
<Regenaxer> great :)