Goblins: Distributed, Transactional Programming
At the heart of Spritely is Goblins, its distributed object programming environment. Goblins provides an intuitive security model, automatic local transactions for locally synchronous operations, and an easy to use and efficient asynchronous programming for encapsulated objects which can live anywhere on the network. Its networking model abstracts away these details so the programmer can focus on object programming rather than protocol architecture.Goblins also integrates powerful distributed debugging tools, and a process persistence and upgrade model which respects its security fundamentals.
Read about Goblins' design
Read our whitepaper: The Heart of Spritely: Distributed Objects and Capability Security (PDF) (ODT) (ORG)
Spritely Goblins' network layer means users can perform asynchronous programming against objects that live anywhere. You can even interact with objects written in a completely different programming language! Currently we support two languages:
- Goblins for Guile (v0.11.0) (signature) (docs)
- Goblins for Racket (v0.11.0) (docs)