Christopher Lemmer Webber
44837861de
Use more generics on actable
8 years ago
Christopher Lemmer Webber
ae1ba7a363
Remove actor-address parameter and self
8 years ago
Christopher Lemmer Webber
48c599d2be
Rip out on-selfsame-hive?
8 years ago
Christopher Lemmer Webber
70e68c9ef0
Add TODO
8 years ago
Christopher Lemmer Webber
18400c46cf
Add external spawn procedure to hive
8 years ago
Christopher Lemmer Webber
07635cb6a5
Add actable and hive spawn procedure
8 years ago
Christopher Lemmer Webber
b284e673bf
Apply arguments when promise is fulfilled
8 years ago
Christopher Lemmer Webber
b89605c7fe
Promises are closer to working...
8 years ago
Christopher Lemmer Webber
c9c8fff13b
Add promises/resolvers (in theory...)
8 years ago
Christopher Lemmer Webber
cf43c879d5
Rename vat to hive
...
The fediverse has spoken, "Hive" is clearer than "Vat"!
8 years ago
Christopher Lemmer Webber
84730139e7
Move spawn-actor to just be a vat method
8 years ago
Christopher Lemmer Webber
1c15835520
Simplifications towards promises
8 years ago
Christopher Lemmer Webber
a8fedcd77a
Remove compiled/ directory
8 years ago
Christopher Lemmer Webber
66f5c0c4c5
A couple of TODOs
8 years ago
Christopher Lemmer Webber
b5ca6a97be
Switch over to using an actor generic interface rather than just a handler.
8 years ago
Christopher Lemmer Webber
68cb468a82
Add an info.rkt
8 years ago
Christopher Lemmer Webber
d93d5b34f0
Add a copyright header to actors.rkt
8 years ago
Christopher Lemmer Webber
1b93f93c39
Add a main.rkt for Goblins
8 years ago
Christopher Lemmer Webber
3bc837a868
Rename <-wait to <<-
8 years ago
Christopher Lemmer Webber
28763a953c
Add robotscanner demo
8 years ago
Christopher Lemmer Webber
c85f338156
Add swissNum style addresses and local-address pretty-printing
8 years ago
Christopher Lemmer Webber
f7d0a91f60
Disable treating addresses as procedures for now
...
I'm not sure it's a good idea for users to "overlook" that <-wait is
happening.
8 years ago
Christopher Lemmer Webber
af10d5b327
Remove the "ignored" bit
8 years ago
Christopher Lemmer Webber
d45487602b
Add botherbotherbother demo
8 years ago
Christopher Lemmer Webber
bb24cf8ad4
Add support for classes and objects
8 years ago
Christopher Lemmer Webber
99a32d972d
Add some basic actor tests
8 years ago
Christopher Lemmer Webber
5ed0850f87
Remove stale TODOs
8 years ago
Christopher Lemmer Webber
114a1a0357
Garbage collect the actor registry when appropriate
8 years ago
Christopher Lemmer Webber
f7af891b3d
Fixed args argument in a keyword-procedure within <-wait
8 years ago
Christopher Lemmer Webber
aa09f852b5
<-wait now works outside of an actor context
...
The way we do this is by spawning a temporary actor that puts the
result into the channel, which we fetch from within our thread.
8 years ago
Christopher Lemmer Webber
76f0f3464d
Add a FIXME comment so I won't forget to remove get-actor-registry
8 years ago
Christopher Lemmer Webber
7a9feddff0
<-wait works now
8 years ago
Christopher Lemmer Webber
3da1adc1a1
Forgot to loop...
8 years ago
Christopher Lemmer Webber
ca23ea6d47
Removed TODO, since local-address now is callable :)
8 years ago
Christopher Lemmer Webber
5c8a6724d6
Correctly have actors only work on one task at a time
8 years ago
Christopher Lemmer Webber
17dc60d293
simplest-possible demo now works
8 years ago
Christopher Lemmer Webber
1eb5b9af96
Permit keyword arguments in message passing
8 years ago
Christopher Lemmer Webber
989e149453
Parameterize the current-vat in listen-for-work
8 years ago
Christopher Lemmer Webber
e86f2020a4
Make actor addresses callable
...
Not completely correct, since we'll want to switch this to <-wait,
but proves the concept
8 years ago
Christopher Lemmer Webber
8dd8d9b9fb
Note about copying over the registry to a new registry now and then
8 years ago
Christopher Lemmer Webber
0ae48bcfc9
Remove per-actor custodians, add custom wills
...
This is a pretty big change, but for good reasons. Actors weren't
being GC'ed probably due to cyclical references to GC machinery, which
I can't imagine why Racket didn't like that ;P
Anyway:
- Actors now have 1/10 the cost, about 100 bytes per actor I think.
Not bad!
- Removed the per-actor custodians, which maybe didn't make sense anyhow
because actors may be instantiated with arguments that wouldn't themselves
be managed by the custodian
- Added wills. So that's good news, since now you can always add your own
custodian and kill it via the will if you like.
- Actors are actually GC'ed now, horray
8 years ago
Christopher Lemmer Webber
3ab892db16
Switch from current-vat-channel to current-vat parameter
8 years ago
Christopher Lemmer Webber
da872ae828
Add wills for the actor addresses
8 years ago
Christopher Lemmer Webber
ab448635e3
Provide the spawn procedure
8 years ago
Christopher Lemmer Webber
6c3f03ebed
Move to a thread-pool-inside-the-vat design
8 years ago
Christopher Lemmer Webber
9bf3b95603
Goblins is now in its own repo, so renaming this directory to Goblins
8 years ago
Christopher Lemmer Webber
a1563a0757
LICENSE and README files
8 years ago
Christopher Lemmer Webber
105c727fa8
Spawning actors and sending them messages seems to work!
8 years ago
Christopher Lemmer Webber
79174a5231
More actors stuff working
...
The best part about starting a new project is you make bad commit
messages like this and nobody cares
8 years ago
Christopher Lemmer Webber
6ba909c467
Okay, minimal basic working actor stuff!
8 years ago