Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

gitlab.com/spritely/goblins

This is the [Racket](https://racket-lang.org/) implementation of [Spritely Goblins](https://spritely.institute/goblins/), a 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.
https://gitlab.com/spritely/goblins

preparing for some of the handoff testing stuff

49b82f34ad81ffc21300d3eb9f99f9c919f94ef2 authored almost 4 years ago by Christopher Lemmer Webber <[email protected]>
Use the bootstrap utils to make these tests more readable

c970705c0677e8df8f3cd13e8ffc6325d49a1120 authored almost 4 years ago by Christopher Lemmer Webber <[email protected]>
Have make-machinetp-thread not manipulate a vat directly

5d26f853f457590236388986b12830d9e242d62c authored almost 4 years ago by Christopher Lemmer Webber <[email protected]>
Merge branch 'dev' into sturdyrefs-handoffs

90914116afb18b26ef8f9630964e04c785dd4ba7 authored almost 4 years ago by Christopher Lemmer Webber <[email protected]>
Better sealer/unsealer procedure names

56d735b341cc2d2d5d3ba51d9b4c8e204f952ecb authored almost 4 years ago by Christopher Lemmer Webber <[email protected]>
Verify the location from the session

1a028b995336ebf430c92f802751990231e2340b authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Complete session initialization

742601ffdb24b8efd292484a2fdb4e6127c28745 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Permit naming swappable somethign specific

d8e8bb13671995bc5ce5c1ca227759a8822e2ed3 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Stub out coordinator methods

16cfacad5c33e2668bb5c7ebc092c8869b737f22 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Switch captp-conn stuff to all happen *within* a vat

7f575d0d4e8ffe91090eee16328f1adb28f73f2e authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Add <-np-extern method

c2a8ec6e021c23bba745d62eab62c314e53c7f02 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
M-x delete-trailing-whitespace

afad57490830e6d8f2b16430af119513583cfa00 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Begin work on coordinator

f29b87e9fc719638c36f1153c1af2994b83a892a authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Switch from captp-dispatcher to simple-dispatcher

fa83af22a1ec4bb15b49fe66400b8754680b7eb0 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Add desc:sig-envelope and desc:handoff-give

To be used by handoffs.

2cf67a7582b31d2dfbce3057f8b1c6851da48e2a authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Stub out the inter-captp coordinator

7950ee10ee274be2e27d52407889f6133db0cdfd authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Add comment documenting captp information

fc6b35482bc32450e758e7585a574e29299c1b7b authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Require syscaller for near-refr?

a886456c29b2cbc7f49d2a13a0d61ef082e2a470 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Support multi-warding behavior

e1a3d92725a0eede86cc3cfd9523a4e5b896ab27 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Allow providing a default for fetching from registry, better errors

bfbd12a545dc8bbe77899ad79126dba9933e9be0 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
Export near-promise related utilities

2abb76afac573303e9ccf6f88707303761c9f7a5 authored about 4 years ago by Christopher Lemmer Webber <[email protected]>
define and provide warden->ward-proc

8b4dc758dae323c32ea87b92503bd23edcdab39b authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Allow for specifying a sealer triplet

d1580afd530aec64a5391e20b77b43e306f54bc9 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add ^incrementer

d860be6e23c64b81f87647a044f45958c42fe54e authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add warning about foldr

4171e8ac7b2264085f6a7e10b6ba101b6044b14d authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add url-base64.rkt

It's useful often enough...

fadacde6e68382f4f6a09f2e21526ef0cd2a6027 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add a simple mint

6b31d2340e8c48aa09958c810399962eb558e2d3 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add caveat that GC is acyclic

85b600560c39d476e6b1d1e6a98386abbd3f6808 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Include forgotten dependency

aa17ae4d08582eaa7b2d999edc940b9076d9fac5 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Oops, forgot to mention that captp is already supported

5ce576664ef2c62e521cbacdcfc1b4c6d3d3ff2b authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Spritely Goblins v0.7 released!

6382d76e0f635a050aba0f1c74a4e33f21778c4a authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
About as much of the rest of the captp documentation as we can do right now

1b12f5bd1229b709d8e57036fbbde0ec8f30fd3b authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Rename bootstrap-refr to bootstrap-obj

4a9acc91b2be898fa9ec87da26ceb259a8b56186 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Move nonce-registry.rkt into its own file

2301051a9006b379c4f63d2cae3f001508802816 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add another line saying "yay it worked"

7ffd029073959f803ab1e986fbedf8b5e356e537 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add start of captp docs

278f68615b62494f5b01ea877056de787d2a9d26 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Switch racketidfont reference to id

87226b76d95594f7167d2f6b25c5c9e2a34c792e authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Remove some crufty comments and also don't require a bootstrap reference

142f1f6e1153d25becfac85651631b196f6b9040 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Don't display every time a captp connection ends

Though we might want some equivalent hook in the future

409490993ba892c0005d7e7d7d54c92515ffac9f authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Rewrite the tutorial to use the vat bootstrapping macros

3a121b7af3028cd2a3efa1f4b253068a835a601b authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Rename vat-bootstrap.rkt to bootstrap.rkt

f993e354faa94bc8151af1903b83e642ba3549f4 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Also export define-actormap-run

90534069e469086d9c7787fbaa4facb0e01af0e2 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add vat-bootstrap.rkt

e172d6d4ec8da29544ba638f14905642c09a365b authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Remove one more vestige of the vat-id

786fed351f07bd91ce43f41d1198fffa4a52b77f authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Remove old "public key cryptography on the vat" crap

18ac4c57bab318068dbe1a2dbfce5d347b525c4c authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Update tutorial: mactor:local-object -> mactor:object

fce152d6a8fd9aa6248d34557bb48ae45d4c7591 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Update tutorial's use of actormap-turn

Now returns one less value to its continuation

675f6fb9dfcf1b2bf9124b8ed9fa1c2a56323e8a authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Fix handling a message to local closer promises that aren't near

d3785602e370e6b02f1f71b0810f9ee2803bb56c authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
internal shutdown stuff

Also display a message (for now) when things shut down

9810fb8c02b20d93ada68f471e4a2754ad147a08 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Switch captp thread to be a captp vat

Much cleaner! The less bespoke event loops, the better!

234e548567e994055bc4556662eec581acef7c82 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Refuse to process any record tags that aren't defined

a5867214757e737b3dbbddfc2eb83f79aaecd01c authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Export user-defined records

d59e06fcc5949e1b5be322aad88a39f2f5e46048 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
remove goblin-chat stuff

which is in its own repo

c071b558ef54a9e955aa5b07bb92245ea93431f2 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
fix filo-queue append

2ade75a8381429003b7fcb026b34289eeea6b1b8 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add selfish-spawn.rkt

cb8ee5b8710e5e4686cd9f58f8058668ee3dab03 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
pubsub shorthands

2df5f0ba287b1abb4719c5c14546cf04458456d6 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
pub -> publish

5d3fb5700e18326a862243d2ebad91cb09f51cdc authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Actually export ^pubsub, make method names more verbose

23c62c0cd80762d3d230f92233f1b54f52cdfe84 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
pub and pub-except don't need to use <-, <-np is fine

11a223694eaf6efb90a5100965455569514d9408 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add pubsub.rkt

671f421a08a64192ee526ce391731317f9d06dbc authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add let-on

ooh boy what a name I know I know
but it provides the best syntax highlighting in emacs
I'm sorry

6c3ac624c3305b10f928b9c0ed6ab695dcdd1776 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Export keys and values methods from ^hash

7009a7be3e217c97ca14868a956d38700d5d3e78 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add support for async wardens (untested tho...)

d8a8c6800e9b8980591b0899a70fce8fc3d428a1 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Let actormap-run! return multiple values to its continuation

404aaf8cf2f2aa46c2d72d421a30a0adb5e24097 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Rename incantify to enchant

670e3d3d60bf399587954fe9ef43a3459329d032 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Actually need to export the datastructures oops

baea33595c5d4ec49822a143b41e600f26fa2f97 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add common.rkt with some common datastructures I'm always putting in cells

54b2662d8ab0d3e30b8e270eb043f4d3cfaa8b6e authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add and export spawn-named

7ca7fc6b859df7c7bc5632938fe83d11dbefcb6c authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Document ward.rkt

33acecb23b052101a951019d96c2944558ff6333 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
spawn-warden-pair -> spawn-warding-pair

7938ae6d9cbfe499291e487afb68390b7c5e8a0a authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Switch "energize" to "incantify"

807ad701407951261c53d7f7ff474e00ed9615ba authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Rename enchanted to energized and add energize procedure

8a92779d8dfe10380d837a5b1f05285c8c403e06 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Rename gatekeep.rkt -> ward.rkt

732b41e253f769f95f05be989cdeac6721b3e3ae authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Rename gatekeeping/privilege to something more paletable

While not strictly false, we don't want to encourage gatekeeping
everywhere.

0c13fc15a8eac6701f4f23e6341252542fea643f authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add goblins/actor-lib/gatekeep.rkt

7b74a197c19047d7b37e86c2355394e2d259ffe8 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Have spawn-revokeable use multi-value-return

433902f3eaf9f040de0df027e00e36f39e401855 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add TODO about select-swear

ad815ee648b84a3d35f66632881a04fb1de4761e authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add swappable utility

9aa7e68d0bc2bdf7a584aef766d768f0f016dea1 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
rename values-to-list.rkt

aeecad009582364f429900aa47416c238f35b8e2 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
export local-object-refr-debug-name

c0e6bd77aead99d9e7f7fcd1a64d2ae3c9d53983 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add values->list utility

8f0e6fdac1804bf0c2b72cb34e9d25a7bccb3f10 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add goblins/actor-lib/joiners.rkt

83e9f0aca60b18072f5e9d95630b73a1d475a96f authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Comment about _handle-message being for toplevel messages

6811dde2cbea60e6ab9a3e6be39c0138bc598fc7 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Fix regression where we didn't propagate breakage in case of exception

2d5ebd07bf7a8e805d8288d0f21064bf878c8411 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Reject messages sent with <- to non-references early

d8c114e5395a016bbc27a121af534c95ed90aeee authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Also check that something's a near reference before we check `sealed?`

2e19ccbc53744b58cfc51a07a95d89a2f2584dbe authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Might as well make eventspace message handles reckless also

1d4bbedfbcb779c07e18e10ee3345b780763188e authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add #:reckless? to actormap-turn-message and remove from actormap-turn*

In the case of actormap-turn*, you can just pass in the normal actormap

d1ea28638739d0a91b7a126b482f7bb99d4110ce authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Now GUI elements and goblins actors can talk bidirectionally

30f33a106bfb5e15871b366d69bd31fca44999c2 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
provide call-with-fresh-syscaller from fresh-syscaller submodule

576bc6230d276b478ced53844a029317c2da31d8 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Don't send messages or commit the actormap unless success/deferred

Yikes! Our vat turns weren't transactional!

00b9229d1e5e4c037290d705f346fa3b0bfd9514 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
eventspace vat WIP

A lot of duplicate code with vat.rkt unfortunately, but it does seem
to work!

f707fdb4435d208e1f759423fef47285bfb22751 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Some cleanup of vats code preparing for generalization

41fee05e78b478ffc3e5088bda113f720ff1cf3a authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
define-simple-dispatcher utility

0a99b2bd6e894f59f506a3068d979638a4b4f63d authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Comment out cryptography stuff from vat.rkt until we know what we're doing

9698d5cdfdeedec90ef9ef4fdddbc1111b71378a authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Set up listening behavior for mactor:remote-links

82e5797864a27294c0fb12465e20443336d1c5ca authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Import/export distributed GC now works too!

36f736ddaa2e36e5afbddbe6daeac27a3edcfab1 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add distributed garbage collection for questions/answers

but not yet imports/exports

55c7297c58edda04f99e7226d1422d6367d7a77f authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Replace TODO symbol with (void) and add underscore to (currently) unused var

b6e1b23128e35f4878aaf4e4e75da6fbcc12e43e authored over 4 years ago by Christopher Lemmer Webber <[email protected]>
Add pk as a dependency to avoid anyone following along from getting confused

70e4a9fa1aa478bc4a088a3ec3c875e741b71cf9 authored over 4 years ago by Christopher Lemmer Webber <[email protected]>