IRC channel logs
2026-08-09.log
back to list of logs
<ridley>It would be neat to see another implementation <Binette>You know I get asked a lot if I mean ocapn and it's starting to make me worried that I did something wrong X) <Binette>why dd \X) translate to a swirly-eyed emoji? <ridley>Which document are you looking at with the stages? <ridley>Are you planning to support communicating with guile goblins? <Binette>Yes! So I was planning to implement Goblins first, then OCapN. But I am starting to doubt which one I should've started with lol <ridley>I don't know enough rust to know what makes the most sense for you <Binette>Thanks! The syntax for creating actor constructors kind of look like this right now: <Binette>constructor!(greeter, |my_name: String| { <Binette> behavior!(|your_name: String| -> String { <Binette>That's for the greetor, but for the cell, I have this: <Binette> behavior!(raw move |args: &[Value]| -> BecomeSeal { <Binette> match cell(Bcom{}, &[new_val.clone()]) { <Binette> SpawnResult::NewBehavior(new_beh) => become_beh!(new_beh, Value::Null), <Binette>It's still a little verbose compared to the guile implementation, but much better than my first attempt <Binette>I've been willing to ask for a while, but even if OCapN is a distinct thing from Goblins, it allows two remote vats to communicate with eachother, right? <Binette>I should've probably sent a pastebin haha <ridley>Kinda, yes. OCapN doesn't *technically* require vat infrastructure but all the current implementations have one of one flavour or another <ridley>I program in Dart which kinda has vats as its default concurrency model <ridley>Or put another way, OCapN is what Goblins uses to communicate between remote vats <ridley>I think between local vats Goblins doesn't need OCapN but someone can correct me on that if I'm wrong <Binette>I think you're right for the beginning stages, but I wouldn't be able to tell for later ones. But from what I get from the docs, it does work like how you suggested <Binette>I'm mostly concerned with overengineering the whole thing. Currently I realized that I didn't need two traits and am wondering if I should add one more for the actormap references. I want everything to be set up perfectly before the next stage, but I'm not sure if it's the best mindset to have for this implementation, you know? <ridley>I know I have a hard time going back to things so I try really hard to feel good about something before moving on <ridley>Doesn't always work out, especially when implementing a spec that is still in flux <Binette>Still, I think the fact that it works means that maybe I could clean up stuff. But like you mentioned, I also have a hard time going back to things <jfred>ACTION glances at the partial Horton implementation still sitting on his virtual shelf