fitrh has quit [Remote host closed the connection]
fitrh has joined #river
Keeto has joined #river
fitrh has quit [Remote host closed the connection]
fitrh has joined #river
bitblt_ has joined #river
bitblt has quit [Ping timeout: 245 seconds]
bitblt_ is now known as bitblt
glenneth has left #river [ERC 5.6.1-git (IRC client for GNU Emacs 31.0.50)]
fitrh has quit [Remote host closed the connection]
glenneth has joined #river
Keeto has quit [Ping timeout: 252 seconds]
haliucinas has quit [Quit: .]
haliucinas has joined #river
Szadek727 has quit [Quit: off]
Szadek727 has joined #river
Keeto has joined #river
<leon-p>
just went hunting for what I thought was a zig compilation because somehow a cursor_shape value was negative after getting it via inline else and @field(@tagName()). Turned out that struct was never initialized, which I missed because other members of it had default values set... fun :)
eoli3n has quit [Read error: Connection reset by peer]
Keeto has quit [Quit: Lost terminal]
<ifreund>
leon-p: valgrind probably woulda caught it :P
kansei has joined #river
adamcstephens has quit [Remote host closed the connection]
adamcstephens has joined #river
<leon-p>
ifreund: it actually didn't, linking with chicken messes up the debug info
<ifreund>
:/
<leon-p>
yeah, it makes debugging fun. Last week I had a hard time even noticing a bug, because chicken was catching the SIGSEGV raised by an assert and turning that into a runtime scheme error
<ifreund>
weird
<ifreund>
Debugging my janet stuff has been pretty easy so far
<ifreund>
gdb works pretty much as expected
<ifreund>
valgrind also worked great to get all the leaks sorted
<ifreund>
apparently there's also debugging stuff implemented in Janet for debugging janet code but I haven't needed to learn how to use those yet
<ifreund>
I must say, this single threaded cooperative multitasking stuff is very comfy
<leon-p>
is that basically janets version of async?
<ifreund>
yeah I think this is what people usually mean by async/await
Snetry has joined #river
<ifreund>
cooperative multitasking is more precise though :D
<leon-p>
in what way? I have never really done anything with async
<ifreund>
leon-p: as I understand it, what janet does isn't really the same as javascript async await. There's no special syntax and no function coloring
<ifreund>
janet the language has "asymmetric stackful coroutines" if I've got my terminology right
<ifreund>
and the janet standard library uses this language feature to make a nice comfy event loop
<leon-p>
my understanding of async has always been that it's usually just syntax sugar around event loops, especially w.r.t. events raised by your own code
<leon-p>
scheme uses continuations for single-threaded multitasking, but I have not messed with the chicken version of it, only tried the guile fibres library
<ifreund>
leon-p: that's pretty much what this is, janet even calls them fibers
<ifreund>
continuations can be used to implement coroutines pretty trivially