Tony Garnock-Jones
37cee0c937
(stop-current-facet)
2017-07-05 06:28:06 -04:00
Tony Garnock-Jones
ac5c5d2e5f
First steps toward correct facet-termination.
...
- Facet IDs are now lists so arbitrary ancestors can be computed with
repeated application of cdr
- `stop-facet` is new and untested, other than that `stop-when` is
refactored to use `stop-facet`
- *all* matching stop-when instances run now; the limitation that
exactly one instance should match is lifted.
- roughly, (stop-when E X ...) === (on E (stop (current-facet-id) X ...))
Remaining to be done: fix `terminate-facet!` to do the right things in
the right order.
2017-07-04 22:03:32 -04:00
Tony Garnock-Jones
1fdd62d56d
Remove enforcement of field scoping rules dating back to separate-actor implementation of HLL
2017-07-04 16:31:46 -04:00
Tony Garnock-Jones
46fd5e2b92
Remove/unprovide a few unneeded utilities from patch.rkt
2017-06-23 17:57:35 -04:00
Tony Garnock-Jones
9b54069ecd
chat-multiroom-topic-persist.rkt
2017-05-12 19:21:41 -04:00
Tony Garnock-Jones
42742fe8ac
chat-multiroom-topic.rkt
2017-05-12 18:55:32 -04:00
Tony Garnock-Jones
966cd2ed17
Comment
2017-05-12 17:14:18 -04:00
Tony Garnock-Jones
4be0a8cb59
chat-multiroom.rkt
2017-05-12 15:45:38 -04:00
Tony Garnock-Jones
b9dfd79f34
example-bug-rising-edge-true.rkt
2017-05-04 09:08:47 -04:00
Sam Caldwell
6448188e82
Create test harness & lang for contrasting big & little actor langs
2017-04-20 13:50:01 -04:00
Tony Garnock-Jones
425a5abac3
Default to empty-string to avoid crash when header entirely absent
2017-03-25 15:19:21 -04:00
Sam Caldwell
d4f95d3a7b
Allow creation of facets at the parent level when shutting down a facet
...
Behavior is fairly different from big implementation
2017-03-17 13:50:33 -04:00
Sam Caldwell
460d72d69e
Run new facets with current knowledge
2017-03-17 13:50:33 -04:00
Sam Caldwell
a8421f3929
actor -> spawn
2017-03-17 13:50:33 -04:00
Sam Caldwell
36ff30c289
No longer need to say `react` right after `actor`
2017-03-17 13:50:33 -04:00
Sam Caldwell
da422ff117
update field declaration syntax to match full impl
2017-03-17 13:50:32 -04:00
Sam Caldwell
88f515a98f
Change syntax of field accesses to match full implementation
2017-03-17 13:50:32 -04:00
Sam Caldwell
fb3918404c
fix exception handling for booting actors
2017-03-17 13:50:32 -04:00
Sam Caldwell
6ee97839fa
use racket functions to represent lambdas
2017-03-17 13:50:32 -04:00
Sam Caldwell
e57af91698
reorganize
2017-03-17 13:50:32 -04:00
Sam Caldwell
318363f4be
cleanup
2017-03-17 13:50:32 -04:00
Sam Caldwell
c8cc8051a1
don't run new facets asap
2017-03-17 13:50:32 -04:00
Sam Caldwell
34c3b6bf3a
fix ft-assertions
2017-03-17 13:50:32 -04:00
Sam Caldwell
90bf07f6d4
fixups
2017-03-17 13:50:32 -04:00
Sam Caldwell
079e2da53d
sort out relaying in hll interperter
2017-03-17 13:50:31 -04:00
Sam Caldwell
df40cc7ba9
fix race in trace testing
2017-03-17 13:50:31 -04:00
Sam Caldwell
3986f4d0ea
add trace testing
2017-03-17 13:50:31 -04:00
Sam Caldwell
e1671ce878
add on-stop
2017-03-17 13:50:31 -04:00
Sam Caldwell
da1f9d4b6d
MONADS
2017-03-17 13:50:31 -04:00
Sam Caldwell
5544052488
add lambda to hll interp
2017-03-17 13:50:31 -04:00
Sam Caldwell
7b1c102224
add dataspaces to hll interp
2017-03-17 13:50:31 -04:00
Sam Caldwell
1be415eb45
cleanup
2017-03-17 13:50:31 -04:00
Sam Caldwell
53cd60f196
run hll actors in two steps
...
first: run facets/endpoints to determine the new facet tree and any
actions (messages, spawns)
second: use new facet tree to determine assertions and subscriptions
This makes sure that all field updates are visible to
assertions/subscriptions.
2017-03-17 13:50:31 -04:00
Sam Caldwell
f19a02e859
catch exceptions from hll actors
2017-03-17 13:50:30 -04:00
Sam Caldwell
5a87428f62
partially working hll interpreter
2017-03-17 13:50:30 -04:00
Tony Garnock-Jones
118cdef4c6
Refactor other chat servers to match
2017-03-14 18:29:45 -04:00
Tony Garnock-Jones
689d410bda
Rearrange chat-simplified-internals2.rkt
2017-03-14 18:06:02 -04:00
Sam Caldwell
e0e7baed46
Keep ground dataspace running while subscriptions are present
2017-03-08 18:00:45 -05:00
Tony Garnock-Jones
dc83d33afb
Cosmetic
2017-03-08 06:45:40 -05:00
Tony Garnock-Jones
c51f18efc2
Compile lambda calculus into Syndicate
2017-03-08 06:37:27 -05:00
Sam Caldwell
921b84e056
Add upside-down relays
2017-03-07 12:59:39 -05:00
Tony Garnock-Jones
ea1b1bc072
Allow run-ground to return the active set of assertions at the time of its exit.
2017-02-28 18:44:01 -05:00
Tony Garnock-Jones
ee52520a13
spawn-dataspace --> dataspace-actor
2017-02-25 11:16:25 -05:00
Sam Caldwell
783d132f25
Fix upside-down spawn translations
2017-02-23 22:22:43 -05:00
Sam Caldwell
99ccc12fee
typo
2017-02-22 17:46:55 -05:00
Sam Caldwell
27cb9ba983
Add a way of sepcifying and checking upside-down traces
2017-02-22 17:44:07 -05:00
Sam Caldwell
1f4bf075b7
Take actors to ... the upside down [1]
...
Actors in the upside down may communicate with each other, but not the outside
world. However, the outside world can see what actors in the upside-down are
saying. The intention is to use this facility for testing.
[1] (http://strangerthings.wikia.com/wiki/Upside_Down ).
2017-02-22 17:42:06 -05:00
Tony Garnock-Jones
1bfc4bbdad
Log port number in SMTP driver startup/shutdown messages
2017-02-21 15:12:47 -05:00
Tony Garnock-Jones
6d8ced489c
Accept toplevel action-producing expressions yielding 0 values.
...
A recent change to Racket must have changed the way `for` expands,
because now in conjunction with `local-expand`, we see *effectively* a
`(begin (values) (void))`. This isn't a problem usually, but in
`#lang syndicate`'s `module-begin` context, we split apart `begin`s
and examine their constituents, leading to examination of something
that will ultimately yield 0 values.
The change accepts either 0 or 1 values when collecting actions for
the module's main boot actor to execute. More than 1 value yielded by
such an expression is still considered an error. Currently, it gives
unhelpful error location information; a future refinement might be to
make the error reporting for this (rare) situation more helpful.
2017-02-20 17:04:39 -05:00
Tony Garnock-Jones
deefa251d9
Missed one.
2017-02-20 13:29:19 -05:00
Tony Garnock-Jones
1f8bb56c69
Update examples
2017-02-20 12:54:52 -05:00
Sam Caldwell
9c1e9719ba
swap the meaning of spawn and actor in racket syndicate
2017-02-15 18:18:19 -05:00
Tony Garnock-Jones
413840382b
Better crash-handling for simplified TCP protocol sketch
2017-02-09 19:24:02 -05:00
Sam Caldwell
2b19064960
Update FAQ.md
2017-01-27 15:22:06 -05:00
Tony Garnock-Jones
25729454a6
Tweak
2017-01-23 17:38:38 -05:00
Tony Garnock-Jones
36459c5942
Even simpler chat server
2017-01-23 16:40:01 -05:00
Tony Garnock-Jones
e593cf768b
Cosmetic
2017-01-08 14:10:15 -05:00
Tony Garnock-Jones
19bebc9881
Handle IRC QUIT
2017-01-07 01:46:09 -05:00
Tony Garnock-Jones
eb4a228c73
Crude IRC driver and example.
2017-01-07 01:14:14 -05:00
Tony Garnock-Jones
038ea39b30
Fix deps
2016-12-19 10:15:15 +13:00
Tony Garnock-Jones
b946bbec3c
Glitching example
2016-12-12 11:09:39 +13:00
Tony Garnock-Jones
4940c0b372
Many animated sprites
2016-12-12 10:46:19 +13:00
Tony Garnock-Jones
6a2163bce9
Avoid accidental shadowing of field-names in query-value* and friends
2016-12-12 10:26:50 +13:00
Tony Garnock-Jones
c7db9f2543
Reload when hash of file has changed; stop using a naive counter
2016-12-07 10:10:36 +13:00
Tony Garnock-Jones
b87639b7a4
Split out reloader-mixin and reloader-mixin*
2016-12-07 09:47:53 +13:00
Tony Garnock-Jones
d9905df4e5
Add #:linkage for during/actor and the new supervise/actor to communicate properly
2016-12-07 09:47:39 +13:00
Tony Garnock-Jones
f440911e7f
Sort process table by PID
2016-12-07 09:47:03 +13:00
Tony Garnock-Jones
c019a61c18
Improvements in error-handling for websocket connections re: deadlock, closed ports etc.
2016-12-06 05:55:00 +13:00
Tony Garnock-Jones
64cfce2472
Work around limitations in the way the OS supports filesystem-change-evt
2016-12-06 05:54:17 +13:00
Tony Garnock-Jones
4ee234f118
Remove egregious lack of support for reading directory contents in filesystem driver
2016-12-04 17:33:12 +13:00
Tony Garnock-Jones
c2ece35bf9
Add #:hook to spawn-broker-server-connection
2016-11-30 10:19:56 +13:00
Tony Garnock-Jones
78cb6f0c02
Add #:hook to spawn-configuration
2016-11-29 18:22:00 +13:00
Tony Garnock-Jones
97b194487b
Remove unneeded definitions
2016-11-29 18:05:06 +13:00
Tony Garnock-Jones
ae6c5a409f
Abstract broker over spatial separation syntax used
2016-11-29 16:29:54 +13:00
Tony Garnock-Jones
97bb848611
Always supervise reloaders
2016-11-29 15:04:13 +13:00
Tony Garnock-Jones
d0d7e677fe
Reevaluate supervisor name expression for each supervisee
2016-11-29 14:59:14 +13:00
Tony Garnock-Jones
d9cc478e6c
Use a gensym if no supervisor name is supplied
2016-11-29 14:53:46 +13:00
Tony Garnock-Jones
8cd60417c4
Reimplement supervise.rkt to use spawn->process+transition at each reboot.
2016-11-29 14:48:28 +13:00
Tony Garnock-Jones
726b936ed3
Example of supervision
2016-11-29 13:45:43 +13:00
Tony Garnock-Jones
02c0af4c75
Remove noisy logging
2016-11-29 13:45:23 +13:00
Tony Garnock-Jones
885a1d05d6
Initial stab at a general supervisor
2016-11-29 12:28:08 +13:00
Tony Garnock-Jones
9bb831cac5
Avoid stomping on current-actor-state if it is changed in patch-fn
2016-11-29 12:24:31 +13:00
Tony Garnock-Jones
f677c3a888
current-action-transformer must be a store, not a parameter, else it sticks around for (e.g.) supervision of children of supervised actors
2016-11-29 12:23:33 +13:00
Tony Garnock-Jones
3a3d216908
Only act when we know a positive fact about the state of our watched file
2016-11-29 12:19:34 +13:00
Tony Garnock-Jones
bde2d833bd
Clean up internal interfaces to actor.rkt
2016-11-29 10:34:37 +13:00
Tony Garnock-Jones
f638923c6f
`current-action-transformer`
2016-11-29 10:19:52 +13:00
Tony Garnock-Jones
05c57ec05d
`perform-actions!`
2016-11-29 10:19:06 +13:00
Tony Garnock-Jones
c77513e838
Improve actor-state pretty-printing
2016-11-29 10:18:38 +13:00
Tony Garnock-Jones
e7402e4387
example-multiple-suspension-resumption.rkt
2016-11-29 10:16:39 +13:00
Tony Garnock-Jones
260a99e08b
Track lexical information through analyze-pattern
2016-11-28 14:08:46 +13:00
Tony Garnock-Jones
bab5aba083
Crude steps toward reloadable Syndicate modules
2016-11-28 12:27:10 +13:00
Tony Garnock-Jones
8202220fec
`schedule-actions!`
2016-11-28 11:39:38 +13:00
Tony Garnock-Jones
2f7313a489
Use web-request-header-websocket-upgrade?.
2016-11-26 11:27:14 +13:00
Tony Garnock-Jones
ad2874f463
`web-request-header-websocket-upgrade?`
2016-11-26 11:25:44 +13:00
Tony Garnock-Jones
8f181f5b4d
Hoist broker startup into a module+ main
2016-11-26 11:19:31 +13:00
Tony Garnock-Jones
b72fca51b0
Export spawn-broker-server-connection
2016-11-26 11:19:17 +13:00
Tony Garnock-Jones
f1a7e10fbf
Change syndicate-broker to use web.rkt instead of websocket.rkt
2016-11-26 11:09:23 +13:00
Tony Garnock-Jones
7b5b866a6d
web-request-peer-details
2016-11-26 11:08:45 +13:00
Tony Garnock-Jones
16d9dd27c9
... Oops.
2016-11-26 10:02:59 +13:00
Tony Garnock-Jones
990ae8ea9a
Oops.
2016-11-26 09:59:24 +13:00
Tony Garnock-Jones
0a585d7842
More uniform treatment of resource-path functions
2016-11-26 09:54:26 +13:00
Tony Garnock-Jones
4af472f7ff
Log smtp-account startup and shutdown
2016-11-24 10:38:36 +13:00
Tony Garnock-Jones
a3335800f6
Make immediate-query able to yield multiple values
2016-11-24 10:36:38 +13:00
Tony Garnock-Jones
f201bea5c6
immediate-query
2016-11-23 22:11:35 +13:00
Tony Garnock-Jones
f0f29007df
Very basic inbound cookie support
2016-11-23 22:05:49 +13:00
Tony Garnock-Jones
257c0bf628
#:headers for `web-redirect!`.
2016-11-23 17:21:01 +13:00
Tony Garnock-Jones
0d34e3280e
web-redirect/temporary! -> web-redirect!
2016-11-23 15:39:11 +13:00
Tony Garnock-Jones
3ce8bc380b
web-redirect/temporary!
2016-11-23 15:32:44 +13:00
Tony Garnock-Jones
4b99b629df
syndicate/drivers/config
2016-11-23 13:49:24 +13:00
Tony Garnock-Jones
97a843ccec
SMTP driver
2016-11-23 13:42:10 +13:00
Tony Garnock-Jones
c302e35024
Properly shut down tcp-listener
2016-11-22 11:45:53 +13:00
Tony Garnock-Jones
0102a7d1cd
append-url-path
2016-11-22 11:08:11 +13:00
Tony Garnock-Jones
6497cc5185
Use utility sleep instead of repeating it in one of the examples
2016-11-22 09:16:23 +13:00
Tony Garnock-Jones
4d6a2986d5
web-response-successful?
2016-11-22 09:16:08 +13:00
Tony Garnock-Jones
c8b7be22cc
Use SSL on outbound HTTPS connections properly
2016-11-21 17:38:55 +13:00
Tony Garnock-Jones
9d34ffea4f
Log websocket connection starts
2016-11-21 17:38:41 +13:00
Tony Garnock-Jones
b2c795c57a
Sleep utility
2016-11-21 11:51:48 +13:00
Tony Garnock-Jones
c595c638b2
Make ground a little quieter
2016-11-21 11:46:31 +13:00
Tony Garnock-Jones
a7a2a5c492
Log HTTP server startup and shutdown
2016-11-21 10:57:43 +13:00
Tony Garnock-Jones
c6ca757a7e
Useful web utilities
2016-11-21 10:57:35 +13:00
Tony Garnock-Jones
08f1e7506b
filesystem driver
2016-11-20 22:33:07 +13:00
Tony Garnock-Jones
bc346ff38a
Use logger named syndicate/drivers/web
2016-11-20 18:18:43 +13:00
Tony Garnock-Jones
594bb3989b
Log web requests
2016-11-20 18:11:08 +13:00
Tony Garnock-Jones
c77793f7fd
Ticker
2016-10-31 17:42:38 -04:00
Tony Garnock-Jones
15504cccab
timestate
2016-10-31 17:36:59 -04:00
Tony Garnock-Jones
490e414904
Add #:let to during/actor
2016-10-31 17:27:46 -04:00
Tony Garnock-Jones
d442f4890f
summarise-ground-state with SIGUSR2
2016-10-31 13:46:53 -04:00
Tony Garnock-Jones
4a39a03a0a
Log failures of outbound web requests
2016-10-30 20:30:58 -04:00
Tony Garnock-Jones
c9eddfa0b7
web-response-header-code-type
2016-10-30 20:30:49 -04:00
Tony Garnock-Jones
2d1ad8a62d
Add #:on-crash to during/actor
2016-10-30 20:30:38 -04:00
Tony Garnock-Jones
37af1e8726
Cope with transient pulses of demand in during/actor
2016-10-25 16:59:00 -04:00
Tony Garnock-Jones
ea997539a2
WIP exploration of problems with demand transients
2016-10-25 12:38:19 -04:00
Tony Garnock-Jones
e90c0e580e
Check once for unix-signal support, rather than every (!) time (!)
2016-10-25 12:37:57 -04:00
Tony Garnock-Jones
acd9dde2b8
Remove mistaken require
2016-10-25 12:37:35 -04:00
Tony Garnock-Jones
cd83b5f5d8
Minor fixes
2016-10-24 22:01:17 -04:00
Tony Garnock-Jones
171a51d68c
Fix package deps
2016-10-14 16:33:30 -04:00
Tony Garnock-Jones
e0ce5eb5b4
clock-face.rkt
2016-10-08 17:34:55 -04:00
Tony Garnock-Jones
0f3db4eac6
Rotations had the wrong sign
2016-10-08 17:34:48 -04:00
Tony Garnock-Jones
d1c858a7ae
Fix deps
2016-09-27 18:18:09 -04:00
Tony Garnock-Jones
773d1e953b
Support coordinate-map in syndicate-gl/2d
2016-09-27 17:08:24 -04:00
Tony Garnock-Jones
d00f0cbf13
Fix bug where #:when-disabled on-message endpoints were processing
...
events even when "disabled".
2016-09-25 15:06:22 -04:00
Tony Garnock-Jones
4ea2586666
Support texture clipping
2016-09-25 15:06:07 -04:00
Tony Garnock-Jones
be7cf7417d
Repair error in hsv->color
2016-09-25 15:05:07 -04:00
Tony Garnock-Jones
39e46c1cfa
Support hierarchical parent/child relationship between sprites.
2016-09-24 13:31:13 -04:00
Tony Garnock-Jones
8f28ae0e9c
Minor refactoring
2016-09-19 21:26:38 -04:00
Tony Garnock-Jones
694de50bc0
Illustrate bounds on observation too
2016-09-19 21:21:43 -04:00
Tony Garnock-Jones
c1681f7804
Another firewall-demo example case
2016-09-19 21:19:17 -04:00
Tony Garnock-Jones
e7dc36f126
syndicate/firewall
2016-09-19 21:14:08 -04:00
Tony Garnock-Jones
9a62eb6076
sandbox-os.rkt
2016-09-19 20:24:51 -04:00
Tony Garnock-Jones
aab25684b8
Fancy process table display on SIGUSR1 (if SYNDICATE_TRACE envt var nonempty)
2016-09-13 17:35:12 -04:00