Skip to content

Comment on Goblins: Distributed, Transactional Programming with Racket and Guile

Comments

How does this model compare to the syndicated actor model of Tony Garnock-Jones?

(which, as far as I can tell, also supports capabilities and caveats for security)

Neat work!

The animation on the Syndicated Actors home page [0] does a pretty good job of showing the difference, I think. Goblins is much more similar to the classic actor model shown at the beginning of the animation. The "syndicated" part, as far as I understand, relates to things like eventually consistent state sync being built-in as primitives. In Goblins, we provide the actor model (actually the vat model [1] like the E language) which can be used to build eventually consistent constructs on top. Recently we prototyped this using multi-user chat as a familiar example. [2]

[0] https://syndicate-lang.org/

[1] https://files.spritely.institute/docs/guile-goblins/0.17.0/T...

[2] https://spritely.institute/news/composing-capability-securit...

Thank you, very helpful!

My 5 minute read is that the divergences are primarily in the communication model and in transactions:

- the SAM coordinates through the dataspace, whereas Goblins is focused on ("point-to-point") message passing

- SAM (as presented) doesn't contain a transactional semantics -- e.g. turns are atomic, and there's no rollback mechanism (I haven't been up to speed on recent work, I do wonder if this could be designed into SAM)

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.