IRC channel logs

2025-03-04.log

back to list of logs

<jfred>I like the Jobs quote, and even now it's a useful definition to have. When trying to explain Goblins to a friend that mostly does Python we realized that he didn't think of OO programming in the message-passing way at all, and was getting confused when I was talking about "sending messages to objects"
<jfred>mala: it's akin to context collapse, though perhaps unavoidable when you're trying to be highly public :)
<binarydigitz01>Hey everyone, after a lot of time, my pr has been accepted and guile goblins has been updated to 0.15!
<binarydigitz01>on nixos forgot to mention that
<andreas-e>binarydigitz01: Nice! Was there a particular reason for the "lot of time"? (I am just asking, because Guix has the reputation of taking too long to integrate patches :))
<dthompson>binarydigitz01: awesome!! thank you for doing this!
<binarydigitz01>andreas-e: The PR had been sitting for 3 weeks now, nixos also takes a lot of time accepting PRs unfortunately
<garbados>hey, if i'm running hoot, and i get "Unbound variable: compile-file" what does it mean?
<garbados>invocation: `guild compile-wasm -o www/goblins.wasm guile/goblins.scm`
<dthompson>I'm not sure why you'd see this error but compile-file is a procedure that is called by 'guild compile-wasm'
<garbados>that much i figured
<garbados>here's the full stacktrace https://gist.github.com/garbados/88d65bec0f547a44a1db6a6af95b13ad#file-error-txt
<garbados>i'm trying to generate goblins wasm files from scheme files, using goblins and hoot as guix dependencies https://github.com/garbados/goblins-playground/blob/main/guix.scm
<dthompson>garbados: that stacktrace indicates that something is very wrong with your environment
<dthompson>all those warnings of "incompatible bytecode version" mean you are not loading the things you intend to be
<dthompson>I can't say what exactly is wrong with your setup, but you're trying to load guile bytecode that is incompatible with the version of guile you are running
<ridley>I was reading the CapTP documentation last night and am a bit confused
<ridley>There's the reference counter for garbage collection
<ridley>Is that per object or per object per Vat-Vat connection?
<dthompson>ridley: there's no concept of a vat in CapTP. a CapTP session is a bidirectional connection between two peers, and the garbage collection applies to each session.
<ridley>got it, thanks!
<dthompson>yw!
<dthompson>each session keeps import/export tables and one side can tell the other "hey I'm done with id 5 now" and whatnot
<ridley>I see. I think at first I thought it would destroy the local object when the count hits zero but it sounds like it's more about session resources.
<dthompson>in goblins, the local object being gc'd is what triggers captp gc
<ridley>so if my local car has a reference to a remote steering wheel when I gc the car locally it'll trigger the captp gc on the wheel?
<dthompson>yeah
<ridley>ohhh I think I was thinking about it backwards
<ridley>makes sense now
<ridley>thanks for the answer
<dthompson>once the remote reference is collected we tell the other side of the captp session that we are no longer using it
<dthompson>np!
<ridley>Sorry, just making sure I've got this right: Local gc triggers captp gc. In addition, captp gc can trigger local gc, but only if that object has no other remote references AND is no longer references locally
<ridley>*referenced
<dthompson>yeah
<ridley>okay great now I think I've got it
<dthompson>:)