beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
inara has quit [Quit: Leaving]
inara has joined #picolisp
m_mans has joined #picolisp
ygrek has joined #picolisp
chexum has quit [Remote host closed the connection]
chexum has joined #picolisp
ygrek has quit [Remote host closed the connection]
<m_mans> Hi all!
<abu[7]> Cheers m_mans!
<m_mans> abu[7]: (and others) would it be OK if we create articles on picolisp.com in russian language as well?
<abu[7]> I think this is OK
<m_mans> it seems that Serj is ready to post such articles
<abu[7]> cool!
<abu[7]> How about Mastodon? There is a group @picolisp@gup.pe, should we use it more?
<tankf33der> maybe only for announces
<abu[7]> Yeah, seems rather dead
chexum has quit [Remote host closed the connection]
geri has joined #picolisp
<geri> hey
geri has left #picolisp [#picolisp]
geri has joined #picolisp
<geri> hey-hey
<geri> i wrote something cursed :D
<abu[7]> Hi geri
<abu[7]> What is it useful for?
<geri> straight-up closures
<geri> cant say its needed often in pil
<geri> but its hella fun
<abu[7]> tldr, but why not 'job' or 'curry'?
<geri> cause the idea wasn't to write a useful thing but to implement closures
<geri> doesnt curry just insert the argument into the list
<abu[7]> Depends
<abu[7]> pattern vars are replaced
<abu[7]> otherwise a 'job' closure
<geri> cool
<geri> so like with backquote, just reimplementing the wheel
<geri> :D
<abu[7]> 'job' is the workhorse in many situations
<abu[7]> GUI, tasks etcg
<abu[7]> s/g/./
<geri> job was a first class environment thing right?
<geri> similar to bind
<abu[7]> yes, like bind, but persistent
<geri> how does it work really?
<abu[7]> bind from env, run body, save values in the env
<abu[7]> env is a list
<abu[7]> (vi 'job)
<geri> oh right
<geri> like bind but mutates the argument list
<geri> well, the list you pass as an argument
<abu[7]> exactly
<geri> yeah thats cool
<geri> also, about usefulness
<abu[7]> 'curry' is just a frontend for 'job'
<geri> it just shows that you can implement lexical binding with dynamic really easily
<abu[7]> T
<geri> doing the opposite is a tad harder
<abu[7]> I think it is easier
<geri> to implement dynamic binding with static?
<abu[7]> like the C case yesterday
<abu[7]> save val, run, restore
<geri> oh well i guess so
<geri> i wonder how scheme implements dynamic binding
<geri> they have some box object and that stores the value iirc
<geri> so probably macro magic + that
<geri> im starting to like dynamic binding more and more honestly
<geri> :D
<abu[7]> 👍
<geri> was your comment about closures being useless or picolisp just already having a mechanism to achieve similar effect?
<abu[7]> I don't remember having said closures are useless
<abu[7]> in which context?
<geri> > What is it useful for?
<geri> well true, not exactly saying theyre useless
<abu[7]> I just meant your example
<geri> if there wasn't bind, would it be an acceptable option?
<geri> s/wasnt/was no/
<abu[7]> s/bind/job/ ?
<geri> yes
<geri> my bad
<abu[7]> Must hurry
<abu[7]> bbl
<geri> oke
<abu[7]> ret
<geri> wb
m_mans has quit [Ping timeout: 244 seconds]