IRC channel logs

2025-07-14.log

back to list of logs

<ridley>Hi folks, can anyone explain to me the difference between a sealer/unsealer and the warden/incanter stuff in goblins?
<ridley>I think I get sealer/unsealer but
<ridley>not getting what warden/incanter does that is different
<ridley>or rather for which situations each is applicable
<jfred>ridley: I think warden/incanter are a bit higher-level (and indeed seem to use sealers for their underlying implementation). It's useful primarily if you want to attach some hidden behaviors to an object that are invisible/inaccessible if you don't have the right incanter
<jfred>e.g. https://dustycloud.org/tmp/interfaces.html#org2e017d5
<jfred>in which it's used to add some out-of-band functionality to an object, without interfering with whatever else the object is doing by e.g. adding a conflicting method name
<ridley>Thanks for the link. I'll check it out!
<jfred>no problem :)
<jfred>I also used wardens in one of my projects to add an extra set of admin methods to an object that shouldn't otherwise be accessible: https://gitlab.com/jfrederickson/guile-horton/-/blob/master/horton.scm?ref_type=heads#L100
<jfred>(hm, I should move that repo to codeberg)
<ridley>I think I get it now, thanks.
<dthompson>hey ridley and jfred
<sneek>dthompson, you have 1 message!
<sneek>dthompson, ArneBab says: is there a chance that you could add your optimizing post to the guile reference manual?
<dthompson>jfred: thanks for answering!
<jfred>ACTION waves
<jfred>no prob!
<ridley>Hi dthompson
<dthompson>hey hey
<ridley>Btw I read your functional hash tables post yesterday. Interesting stuff
<dthompson>oh cool, glad it was worth reading :)
<ridley>Yup very clear too
<dthompson>that is very good to hear (read)
<dthompson>I'm never sure if I'm describing something clearly or not