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
aw- has quit [Ping timeout: 244 seconds]
chexum has quit [Ping timeout: 260 seconds]
chexum has joined #picolisp
theruran has quit [Quit: Connection closed for inactivity]
rob_w has joined #picolisp
alexshendi has joined #picolisp
geri has joined #picolisp
<geri> hey, are there any downsides to functional IO?
<geri> gotta say, when working with a single file its really comfy
<abu[7]> I see no disadvantage. You can always 'open' the normal way too
<abu[7]> or access outer I/O frames
<geri> normal way like using cffi?
<geri> or like stdin, stdout, stderr and opening new streams somehow else
<abu[7]> (let Fd (open "file") ...
<geri> oh
<geri> honestly functional io kinda reminds me of shell script
<abu[7]> (in -2 gives oute frame
<geri> you dont need to open and close any files manually, programs do it for you, etc.
<geri> what does "outer frame" mean here?
<abu[7]> (in (...) ... (in -2 ...
<abu[7]> I used seldom though
<geri> ah
<geri> so you can access whatever is already opened on top level like that
<geri> very nice
<abu[7]> Right
<abu[7]> Even better is using a coroutine
<abu[7]> : (co 'f (in "lib.l" (until (eof) (yield (line T)))))
<geri> im yet to start using coroutines
<geri> my brain is kinda single threaded
<abu[7]> ok
<abu[7]> then:
<abu[7]> (co 'f T)
<abu[7]> ...
<abu[7]> each call returns the next line
<geri> how could you discard a coroutine
<abu[7]> It falls off the end, or you stop it explicitly with (co 'f)
<geri> ah, thanks
alexshe53 has joined #picolisp
alexshendi has quit [Ping timeout: 252 seconds]
rob_w has quit [Quit: Leaving]
alexshe53 has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
alexshendi has quit [Ping timeout: 246 seconds]
theruran has joined #picolisp
<geri> is parallelism possible in pil?
<abu[7]> Only via processes (fork, pipe)
<geri> hm
<geri> i was trying to figure out a difference between coroutines and threads and wherever i look its always "coroutines are just lightweight threads"
<geri> and never anything about multithreading
<abu[7]> T
<abu[7]> See the FAQ
<abu[7]> "Can I run threads?"
<geri> i know that picolisp doesnt have threads
<geri> i was just wondering if that means you cant do parallel processing
<abu[7]> Not possible
<abu[7]> binding
<abu[7]> All threads run in thc same env
<geri> and there's only one dynamic env in pil
<abu[7]> yeah
<abu[7]> coroutines run cooperatively and thus can handle that
<abu[7]> but threads can't
<geri> yeah, makes sense
<abu[7]> I think processes are better anyway
<abu[7]> less syncing
<abu[7]> Threads are also processes, just share the heap
<geri> i was thinking that using linked lists for environment in a lexically scoped lisp wouldnt be horrible in general because functions rarely take more than 10 parameters and until 50+ or so (hadn't checked) params apparently alists are faster than hash tables
<geri> :D
<abu[7]> Its not only fun parameters, but all variables though
<geri> top level really shouldn't be a linked list, yeah
<geri> "oh you wanna know what value symbol + has? wait a second while we're sequentially searching for it"
<geri> "... in 7 billion builtins"
<abu[7]> ☺
<geri> are you used to the swipeboard yet?
<abu[7]> Ycs, better and better :)
<geri> idr if i said it before, but apparently in japan they use swipe keyboard on mobile phones that have a layout a la t9
<geri> i use it for typing japanese and it's pretty cool
<geri> probably very similar to yours tbh
<abu[7]> I see, cool
<geri> do you actually use one finger or both thumbs?
<abu[7]> One finger, but varying
<abu[7]> Mostly index
<abu[7]> but sometimes middle or thumb, even left hand if necestary
<geri> is it usable with both thumbs overall?
<abu[7]> yes, but only one at a time
<abu[7]> (a second finger cancels)
<geri> interesting
<abu[7]> Did you see the README?
<abu[7]> or the videos?
<geri> hadnt seen videos i think
<geri> idr about readme, probably did but forgot
<abu[7]> The videos are very poor
<abu[7]> and only German
<abu[7]> better than nothing :)
<geri> 37 views nice
<abu[7]> hihi
<geri> i like that this keyboard has a very phone-friendly format
<geri> the previous one is probably not very nice on a phone, although probably usable
<abu[7]> Steno should be usable on a smartwatch
<beneroth_> yeah smartcatch with Steno is a great idea!
<beneroth_> (much better than on AR glasses ^^=
<geri> i like the idea of monitor glasses, but implementation is kinda eh
<geri> like vr goggles for a workspace, but less obstructive
<geri> get a keyboard, connect it all to phone and indistinguishable from a pc
<beneroth_> that already works. The phone "librem 5" by purism is a nice working debian phone, well usable as a debian desktop. not really usable as a phone because the battery duration is really bad.
<beneroth_> maybe it got better with software updates, I should try again.
<geri> if you have a phone then do use it please xd
<geri> we need our pure linux phones
<geri> also, going afk for 9 hours, laters
<abu[7]> Sleep well! o/
<geri> thank you 🙇
switchy has quit [Read error: Connection reset by peer]
switchy has joined #picolisp
corecheckno has quit [Remote host closed the connection]