Sam Caldwell
e88b64f5c1
allow polymorphic function definitions
2020-03-10 11:44:04 -04:00
Sam Caldwell
82705763b4
type abstractions
2020-03-10 11:44:04 -04:00
Sam Caldwell
581319eacb
split out primitives
2020-03-10 11:44:03 -04:00
Sam Caldwell
3c800a92db
split out files
2020-03-10 11:44:03 -04:00
Sam Caldwell
29c446df39
Attach useful metadata as syntax properties to some types
...
In order to make defining judgments like subytping and intersection
more extensible, introduce a form for defining type constructors that
describes:
- how it behaves wrt intersction (product-like or container-like)
- variances for subtyping
- the type constructor transformer, for making new instances
This eliminates a lot of very repetitive code, and should make things
much more extensible
2020-03-10 11:44:03 -04:00
Sam Caldwell
006e5e0bf5
simplify implementation of overlaps?
2020-03-10 11:44:03 -04:00
Sam Caldwell
f9dcad855e
examples/flink: implement task delegation roles in terms of abstract
...
templates
2020-03-10 11:44:03 -04:00
Sam Caldwell
fa7af3444c
look more at book club roles
2020-03-10 11:44:03 -04:00
Sam Caldwell
58c1b52ac4
More leader-related role finangling
2020-03-10 11:44:03 -04:00
Sam Caldwell
d5ac65007e
Keep track of branches for role effects in turnstile lang
2020-03-10 11:44:02 -04:00
Sam Caldwell
572be6b45d
look into leader impl simulating spec a bit
2020-03-10 11:44:02 -04:00
Sam Caldwell
5752c9299c
some more simulation tests
2020-03-10 11:44:02 -04:00
Sam Caldwell
7dfc4a93da
leader-spec simulates itself!
2020-03-10 11:44:02 -04:00
Sam Caldwell
ff81748848
simplest simulation example passes
2020-03-10 11:44:02 -04:00
Sam Caldwell
f0c52f6eaa
subtyping
2020-03-10 11:44:02 -04:00
Sam Caldwell
e141abd678
remember initial state when compiling
2020-03-10 11:44:02 -04:00
Sam Caldwell
d285de5bb2
small improvements
2020-03-10 11:44:01 -04:00
Sam Caldwell
04f4acbda3
incorporate branching!
2020-03-10 11:44:01 -04:00
Sam Caldwell
abce2d6046
More on facet states, including graphviz view
2020-03-10 11:44:01 -04:00
Sam Caldwell
d35495029b
prototyping interpretation of roles as state machines
2020-03-10 11:44:01 -04:00
Tony Garnock-Jones
38f6351d43
Cosmetic (sort-lines) [2/2]
2020-01-17 14:15:20 +01:00
Tony Garnock-Jones
cd98c3048d
Cosmetic [1/2]
2020-01-17 14:14:55 +01:00
Tony Garnock-Jones
d1fbe26bc1
Fix Racket package deps
2020-01-17 14:14:35 +01:00
Sam Caldwell
a3380ea403
fixups for package installation
2019-08-26 11:08:30 -04:00
Sam Caldwell
3957f031c1
declare turnstile deps
2019-08-23 10:05:11 -04:00
Sam Caldwell
f85203ac73
examples/flink: small cleanups
2019-03-05 10:53:30 -05:00
Sam Caldwell
0da903e438
examples/flink: merge task assignment and delegation protocols
2019-02-26 15:48:26 -05:00
Sam Caldwell
22bd143025
examples/flink: rename map and reduce structs for slightly less overloading on task
2019-02-26 13:34:12 -05:00
Sam Caldwell
a6d6ceaa7c
examples/flink: tidy up a bit
2019-02-26 12:13:37 -05:00
Sam Caldwell
abc8669b74
examples/flink: describe the protocol
2019-02-26 10:50:00 -05:00
Sam Caldwell
a98ba7baab
examples/flink: avoid asking the task manager to do more than it is
...
capable of
2019-02-21 15:10:42 -05:00
Sam Caldwell
702c53f7d1
examples/flink: Split lines to words in job runner; trim punctuation on words
2019-02-18 16:03:27 -05:00
Sam Caldwell
bb028b1af8
examples/flink: create a job from a file
...
Doesn't handle punctuation properly
2019-02-18 15:45:10 -05:00
Sam Caldwell
fb778ab1ee
examples/flink: create tasks & jobs from an input string rather than
...
manually
2019-02-18 15:21:24 -05:00
Sam Caldwell
5cb0462ec4
examples: adapt Jonathan's flink exceprt to syndicate
2019-02-13 15:53:04 -05:00
Sam Caldwell
0897036557
Don't use syndicate's action-collecting module-begin
...
Implicitly starting a dataspace with top-level actions is a hole for
the type system, which needs to know the type of possible assertions.
Instead, provide `run-ground-dataspace` for kicking off the program.
2019-01-25 11:16:07 -05:00
Sam Caldwell
d363bd0c46
typed chat server example
2019-01-25 11:16:07 -05:00
Sam Caldwell
0c37b4e0b7
tcp driver shim module
2019-01-25 11:16:07 -05:00
Sam Caldwell
c7cc84302e
Instead of attaching syntax properties during expansion, generate code
...
that does so
This resolves the "namespace mismatch: cannot locate module instance"
error.
2019-01-25 11:16:07 -05:00
Sam Caldwell
3a06e2324c
Useful primitives: symbols, bytestrings
2019-01-25 11:16:06 -05:00
Sam Caldwell
36420274cb
send newlines in tcp2 chat client
2019-01-25 11:16:06 -05:00
Sam Caldwell
c7d78159e3
require/typed - no contracts
2019-01-25 11:16:06 -05:00
Sam Caldwell
7c3d87eeb2
require-struct
2019-01-25 11:16:06 -05:00
Sam Caldwell
221a550aed
rename effect keys to not break with updated turnstile
2019-01-25 11:16:06 -05:00
Sam Caldwell
d8df2beb3e
small cleanup
2019-01-25 11:16:06 -05:00
Sam Caldwell
817e292760
Revert "begin splitting up roles.rkt"
...
This reverts commit da1263dc97
.
2019-01-25 11:16:05 -05:00
Sam Caldwell
7117816a74
Revert "more splitting up"
...
This reverts commit 49e7ba1b0e
.
2019-01-25 11:16:05 -05:00
Sam Caldwell
1b0f41f465
more splitting up
2019-01-25 11:16:05 -05:00
Sam Caldwell
c11d719f20
begin splitting up roles.rkt
2019-01-25 11:16:05 -05:00
Sam Caldwell
70aafc8bdf
re-finangle `define/intermediate` to allow require & provides
...
Needed to change from `make-rename-transformer` to
`make-variable-like-transformer` because apparently rename transformers
are treated differently when referred to from another model, hiding the
syntax properties on the target.
2019-01-25 11:16:05 -05:00
Sam Caldwell
dcc6bbcbe7
file system roles w messages
2019-01-25 11:16:05 -05:00
Sam Caldwell
1b7d5a2330
cell example
2019-01-25 11:16:04 -05:00
Sam Caldwell
1b5cf6d772
messages
2019-01-25 11:16:04 -05:00
Sam Caldwell
57934b389f
fix making defn context with #f #f
2019-01-25 11:16:04 -05:00
Sam Caldwell
46379858c2
stuff
2019-01-25 11:16:04 -05:00
Sam Caldwell
139e0bcac5
book club
2019-01-25 11:16:04 -05:00
Sam Caldwell
86330bde03
dataflow
2019-01-25 11:16:04 -05:00
Sam Caldwell
0f2469c364
query set
2019-01-25 11:16:04 -05:00
Sam Caldwell
144e20bdde
query-value
2019-01-25 11:16:03 -05:00
Sam Caldwell
5104677fc6
define functions differently
2019-01-25 11:16:03 -05:00
Sam Caldwell
cabb4e2e7c
local define
2019-01-25 11:16:03 -05:00
Sam Caldwell
d7fc251bc8
walk/bind in begin as well
2019-01-25 11:16:03 -05:00
Sam Caldwell
94823854c0
code reuse!
2019-01-25 11:16:03 -05:00
Sam Caldwell
a9665d93d0
re-factor field shenanigans
2019-01-25 11:16:03 -05:00
Sam Caldwell
ad2e337268
free standing fields!
2019-01-25 11:16:02 -05:00
Sam Caldwell
00bf7d2364
during
2019-01-25 11:16:02 -05:00
Sam Caldwell
632c04139b
sets
2019-01-25 11:16:02 -05:00
Sam Caldwell
6d2d14459c
lists
2019-01-25 11:16:02 -05:00
Sam Caldwell
03285824c7
two buyer example
2019-01-25 11:16:02 -05:00
Sam Caldwell
ddff1c800c
on start and stop, spawned actors
2019-01-25 11:16:02 -05:00
Sam Caldwell
c66b62cf46
simple example
2019-01-25 11:16:01 -05:00
Sam Caldwell
e7e8f5e174
fix pattern compilation
2019-01-25 11:16:01 -05:00
Sam Caldwell
938d3c519d
fix bugs, null-ary stops
2019-01-25 11:16:01 -05:00
Sam Caldwell
35b3811462
cond, match
2019-01-25 11:16:01 -05:00
Sam Caldwell
af91b669b7
lambdas
2019-01-25 11:16:01 -05:00
Sam Caldwell
5130197e27
utilities
2019-01-25 11:16:01 -05:00
Sam Caldwell
3705d95856
stop statement
2019-01-25 11:16:00 -05:00
Sam Caldwell
33af13016b
dataspace form
2019-01-25 11:16:00 -05:00
Sam Caldwell
1a4fc4dd4f
check input and output safety in spawn rule
2019-01-25 11:16:00 -05:00
Sam Caldwell
e79237b1d3
small adjustment to Role type
2019-01-25 11:16:00 -05:00
Sam Caldwell
4bd8d20b0b
refactor effect checking
2019-01-25 11:16:00 -05:00
Sam Caldwell
5803b8f9b0
refactor how effects are checked & propagated
2019-01-25 11:16:00 -05:00
Sam Caldwell
5bd391dd77
rename facet effect key from e to f
2019-01-25 11:16:00 -05:00
Sam Caldwell
71c2846a93
roles for bank account facets
2019-01-25 11:15:59 -05:00
Sam Caldwell
29e09ff3ef
start on facet role types
2019-01-25 11:15:59 -05:00
Sam Caldwell
1e66554b8e
note on performance
2019-01-25 11:15:59 -05:00
Sam Caldwell
8808b5aca9
typed book club
2019-01-25 11:15:59 -05:00
Sam Caldwell
5124b8e715
parse action types in transition,quit to allow empty lists
2019-01-25 11:15:59 -05:00
Sam Caldwell
ceb0c60d20
start on typed book club
2019-01-25 11:15:58 -05:00
Sam Caldwell
fb675a850c
add tuple and patch utilities and set datatype
2019-01-25 11:15:58 -05:00
Sam Caldwell
46a833a66e
typed bank account
2019-01-25 11:15:58 -05:00
Sam Caldwell
5934c1626f
typed box and client
2019-01-25 11:15:58 -05:00
Sam Caldwell
9a3d921de3
starter for typed/syndicate/core
2019-01-25 11:15:58 -05:00
Sam Caldwell
cff784384a
add constructor types
2019-01-25 11:15:58 -05:00
Sam Caldwell
b1c000e12e
more wip on TS
2019-01-25 11:15:58 -05:00
Sam Caldwell
82e5c8504c
wip on typed syndicate
2019-01-25 11:15:57 -05:00
Tony Garnock-Jones
47094c11c4
Responsibility transfer during outbound websocket connection establishment
2018-08-14 17:38:36 +01:00
Tony Garnock-Jones
cb351eee09
Repair current-ground-dataspace initialization, to allow override in e.g. graphical programs
2018-06-01 09:12:39 +01:00
Sam Caldwell
e402725d7f
note
2018-05-01 13:55:34 -04:00
Sam Caldwell
f1c51661c7
Re-finagle module-begin to a more incremental style
...
Fixes 33
2018-05-01 13:55:34 -04:00
Tony Garnock-Jones
f64ad8389a
Update example-during-criterion-snapshotting.rkt
2018-04-29 21:48:49 +01:00
Tony Garnock-Jones
1fa5167e20
Fix a design flaw in Syndicate-HLL for syndicate/rkt.
...
If:
- a field is used in an assertion of interest in facet A
- and that field changes
- to a value that causes the assertion of interest to overlap
with some facet B's assertion of interest
- and an assertion matching that interest was already known to the actor,
Then:
- previously, facet A would not be informed of the matching assertion
- but now, it is informed of the matching assertion.
This more or less only affects "on asserted" endpoints.
The change here should be written up as an erratum to chapter 5 in my
dissertation. Also, syndicate/js needs to be checked for the bug and
probably fixed in an analogous way.
2018-03-27 21:58:57 +13:00
Tony Garnock-Jones
55e1f09484
New "bug" (?)
2018-03-22 13:49:16 +13:00
Tony Garnock-Jones
af150712e0
example-memoized.rkt
2018-03-06 17:35:40 +00:00
Tony Garnock-Jones
57a40e9576
Asynchronously send UDP packets.
...
Switch from synchronous to asynchronous UDP transmission, in case DNS
resolution takes a long time or fails. Specifically, in case of failure,
previously the UDP actor would crash, whereas now the packet is just
"dropped".
2018-03-06 11:12:57 +00:00
Tony Garnock-Jones
1ab4f0f525
Alternate approach to caching
2017-12-06 09:13:28 +00:00
Tony Garnock-Jones
f11f4fd054
tcp-relay2.rkt
2017-12-05 17:38:49 +00:00
Tony Garnock-Jones
eb44003317
New examples
2017-12-05 17:32:12 +00:00
Tony Garnock-Jones
eb564fdb7c
More general tcp-connect error catching.
2017-12-05 17:22:28 +00:00
Tony Garnock-Jones
c9ec9f6be9
Special printer for seals. Fixes #27 .
2017-12-05 17:22:13 +00:00
Tony Garnock-Jones
75093d0e1a
Fullscreen big-bang
2017-11-25 12:03:32 -05:00
Tony Garnock-Jones
53e26b08a1
Many improvements to the netstack TCP implementation.
...
- New timestate `on-timeout` complementing `stop-when-timeout`
- IP layer avoids spurious reordering
- Demo HTTP server sends 4kB responses, for testing
- TCP now has something closer to proper sliding-window behavior
- TCP RTT estimator
- TCP now uses timestate driver rather than raw timer driver
- Many small TCP bugs found and fixed
2017-11-13 20:02:07 +00:00
Sam Tobin-Hochstadt
87495bdc37
Fix missing dependency.
2017-11-12 14:04:36 +00:00
Tony Garnock-Jones
710e75dffa
cleanup.rkt
2017-10-31 17:00:09 +00:00
Tony Garnock-Jones
d51a513f8b
add1-simple.rkt
2017-10-21 14:56:46 +01:00
Tony Garnock-Jones
bf0eb16643
syndicate-render-msd: --number, --no-number, --number-gap
2017-10-21 14:55:28 +01:00
Tony Garnock-Jones
8999b8446d
Use tcp-in-line in chat-tcp2.rkt
2017-10-21 14:54:53 +01:00
Tony Garnock-Jones
fa82634868
ceu-leds.rkt
2017-10-20 16:25:16 +01:00
Tony Garnock-Jones
45eee62fc2
chat-bot.rkt
2017-10-20 11:54:04 +01:00
Tony Garnock-Jones
5904a2f956
Tweak chat-tcp2.rkt
2017-10-19 17:12:01 +01:00
Tony Garnock-Jones
32d1274a8d
Expose field-ref/field-set!, for the f-to-c examples I committed just previously
2017-10-17 21:21:58 +01:00
Tony Garnock-Jones
18b3ab0d97
Two equations are better than one blob
2017-10-17 21:21:27 +01:00
Tony Garnock-Jones
fc0e900485
New variations on f-to-c
2017-10-17 18:49:26 +01:00
Tony Garnock-Jones
0526364698
web-request-send!
2017-10-13 13:52:45 +01:00
Tony Garnock-Jones
70a56e6457
Allow stop-current-facet to take scripts to execute, like stop-facet
2017-10-12 13:59:11 +01:00
Tony Garnock-Jones
22998de0dc
tcp2 line-reader
2017-10-11 22:22:29 +01:00
Tony Garnock-Jones
801470ebaa
tcp2
2017-10-11 14:45:54 +01:00
Tony Garnock-Jones
66e2e8b1a7
Fix race condition (!) in timer driver
2017-10-03 10:49:48 +01:00
Tony Garnock-Jones
14f1cbd4fa
Remove obsolete call to current-inexact-milliseconds
2017-10-03 10:08:44 +01:00
Tony Garnock-Jones
275b60310f
Positively assert detected failures during continuous interest
2017-10-02 14:31:58 +01:00
Tony Garnock-Jones
ca0de7d52f
running-total.rkt
2017-10-01 15:27:58 +01:00
Tony Garnock-Jones
16bd0155cc
Terminal-based IRC client
2017-10-01 11:08:46 +01:00
Tony Garnock-Jones
eb07be548e
Bug fix: retract names on part
2017-10-01 11:08:36 +01:00
Tony Garnock-Jones
5254feb4de
rpc-with-error.rkt
2017-09-30 21:24:43 +01:00
Tony Garnock-Jones
db333a266f
Tweaks to udp-echo.rkt
2017-09-29 17:34:40 +01:00
Tony Garnock-Jones
d96477b9db
udp-echo.rkt
2017-09-29 17:23:07 +01:00
Tony Garnock-Jones
0599f974b9
all-pairs-shortest-paths3.rkt
2017-09-29 15:43:02 +01:00
Tony Garnock-Jones
4f52ebf108
Simplify make.rkt slightly
2017-09-29 13:13:57 +01:00
Tony Garnock-Jones
fa257a1d16
Avoid accidental n^2 in filesystem driver; make.rkt example
2017-09-28 19:28:38 +01:00
Tony Garnock-Jones
7a4d528dc0
Another timestate example
2017-09-28 17:41:17 +01:00
Tony Garnock-Jones
4a51141500
Simplify timestate driver
2017-09-28 17:07:32 +01:00
Tony Garnock-Jones
51ab2921c2
New examples
2017-09-28 16:26:01 +01:00
Tony Garnock-Jones
e41290c509
simple-cross-layer.rkt
2017-09-25 23:56:03 +01:00
Tony Garnock-Jones
6c4ae38499
Make HLL `dataspace` no longer automatically `quit-dataspace`. Fixes #20 .
2017-09-25 23:52:29 +01:00
Tony Garnock-Jones
903ed5deaa
Omit empty patches in render-msd
2017-09-18 16:14:22 +01:00
Tony Garnock-Jones
96331e0cfd
More flip-flop tweaks
2017-09-15 21:46:39 +01:00
Tony Garnock-Jones
e124983e05
Print differently in flip-flop
2017-09-15 21:45:54 +01:00
Tony Garnock-Jones
a82b428f44
racket/syndicate/examples/actor/flip-flop.rkt
2017-09-15 20:34:16 +01:00
Tony Garnock-Jones
516f6a5cd2
message-struct and assertion-struct
2017-09-13 19:08:01 +01:00
Tony Garnock-Jones
6a436f4c12
Fiddle with spacing of MSD renders
2017-09-03 11:44:21 +01:00
Tony Garnock-Jones
5ce1cec2ea
Better comments.
2017-08-27 08:18:11 -04:00
Tony Garnock-Jones
d0e803ac41
Update renders
2017-08-27 07:50:17 -04:00
Tony Garnock-Jones
0acd504d05
Demonstrate the general insufficiency of the approach of commit 2a0197b
2017-08-27 07:50:09 -04:00
Tony Garnock-Jones
e0dc583f51
Improve MSD rendering
2017-08-27 07:46:01 -04:00
Tony Garnock-Jones
2a0197b711
Fix responsibility-handoff for TCP listener.
...
Similar problems likely still exist elsewhere that the LLL
demand-matcher is used.
2017-08-22 16:53:57 -04:00
Tony Garnock-Jones
930e4270b4
Better defaults; print defaults accurately
2017-08-22 16:44:07 -04:00
Tony Garnock-Jones
88d324929d
Command-line tool, syndicate-render-msd
2017-08-14 17:20:36 -04:00
Tony Garnock-Jones
8cbabafbab
Fix #21 , long-standing mismatch in assumptions in LLL demand-matcher.
...
The LLL demand-matcher has two pieces: a `default-task-supervisor`
which does the work of figuring out what to do for a given change in
an instance of demand, and a driver which computes demand instances
and calls `default-task-supervisor` for each.
An `actions` accumulator is threaded through the
`default-task-supervisor` calls. However, the driver code mistakenly
believed that the result of `default-task-supervisor` calls was a
collection of fresh actions only, and therefore consed together the
previous collection of actions with the "new" ones. Because the
`default-task-supervisor` was returning an unmodified accumulator from
time to time, any actions in the accumulator across a call to
`default-task-supervisor` would end up duplicated.
This change favours the thread-the-accumulator-through perspective,
and changes the way the driver uses `new-actions` to match.
2017-08-14 17:17:49 -04:00
Tony Garnock-Jones
cb3eee64dc
Avoid serialization problems for exceptions
2017-08-13 22:40:28 -04:00
Tony Garnock-Jones
b2e2674f44
Support opening/closing the MSD trace file with SIGUSR1
2017-08-13 22:14:45 -04:00
Tony Garnock-Jones
3db51ffda5
Track quits differently
2017-08-13 22:13:44 -04:00
Tony Garnock-Jones
fdcd9b9388
Remove unused commented-out code
2017-08-13 20:52:52 -04:00
Tony Garnock-Jones
e2d1ae853c
Avoid (cdr '()) for patches from drivers - for msd.rkt this time
2017-08-13 20:52:29 -04:00
Tony Garnock-Jones
af30c19ee0
Remove unused debug
2017-08-13 20:47:47 -04:00
Tony Garnock-Jones
f3b5fd6cd1
Avoid (cdr '()) for patches from drivers
2017-08-13 20:47:40 -04:00
Tony Garnock-Jones
6728fcf10d
Extra knobs
2017-08-13 20:08:09 -04:00
Tony Garnock-Jones
09d0fb620d
Much improved tracing
2017-08-13 19:58:48 -04:00
Tony Garnock-Jones
84ec153a1e
Extract utilities for tracing
2017-08-12 00:40:10 -04:00
Tony Garnock-Jones
4efe18bfe0
Trace action production as well as interpretation
2017-08-12 00:08:09 -04:00
Tony Garnock-Jones
9009fb5ec7
Stay rational
2017-08-10 17:40:15 -04:00
Tony Garnock-Jones
40961e7893
f-to-c3.rkt
2017-08-10 17:08:31 -04:00
Tony Garnock-Jones
b3a745dbcb
Make #lang syndicate equivalent to #lang syndicate/actor. Fixes #17 .
2017-08-10 15:17:28 -04:00
Tony Garnock-Jones
c9996d53ae
Avoid premature termination of parent facet.
...
Scenario:
- In script of facet X, (react (stop-when E (react ...)))
- This creates facet Y, child of X.
- Facet X has no endpoints, only its child facet Y.
- When the stop-when fires, without this patch, facet X
will be terminated because the *inner* react above hasn't executed yet.
- With this patch, the check for a useless X is done after the stop-when
has had a chance to run; and so X will survive for now.
2017-08-10 15:08:48 -04:00
Tony Garnock-Jones
837ab77002
#lang syndicate -> #lang syndicate/core; first half of fix for #17 .
2017-08-10 15:04:45 -04:00
Tony Garnock-Jones
6b3f8d920a
Key debouncer
2017-08-07 13:41:01 -04:00
Tony Garnock-Jones
61b683fc94
double-click "debouncing" example
2017-08-07 13:04:10 -04:00
Tony Garnock-Jones
4f8bc6e5af
Ugh, forgot to git-add this
2017-08-07 11:21:09 -04:00
Tony Garnock-Jones
4f21e9ab46
Elide spurious detail in patch actions and events
2017-08-05 19:38:35 -04:00
Tony Garnock-Jones
5bff630547
Support t and T SYNDICATE_TRACE flags, for control over state display
2017-08-05 19:38:17 -04:00
Tony Garnock-Jones
f83f286e28
Name the line-reader-factory
2017-08-05 19:37:34 -04:00
Tony Garnock-Jones
11de40ce98
Change spawn processing to include initial-assertions
2017-08-05 19:36:40 -04:00
Tony Garnock-Jones
f9a477832a
Avoid identifier clash
2017-08-05 19:36:40 -04:00
Tony Garnock-Jones
75aee96e1a
query-count
2017-08-01 17:45:19 -04:00
Tony Garnock-Jones
6b2ee53fa8
Give line-reader instances a debug-name
2017-08-01 09:30:53 -04:00
Sam Caldwell
5f621b098e
trie-step-wild
2017-07-31 11:39:50 -04:00
Tony Garnock-Jones
81a0351828
Cope with potential interference in query-sets (etc) from outside the official event handlers
2017-07-30 18:48:33 -04:00
Tony Garnock-Jones
6e399dd1dd
Experimental Racket GUI driver.
2017-07-29 23:17:55 -04:00
Tony Garnock-Jones
28f6b8acf8
Finally committing the f-to-c examples of Sep 23, 2016
2017-07-27 10:40:11 -04:00
Tony Garnock-Jones
a090ed8330
*gc-priority* has been unused since factoring away cross-facet restrictions on fields
2017-07-12 14:25:42 -04:00
Tony Garnock-Jones
8a2ace112b
Handle additional cases: children present, and obsolescent parent. Additional fix for #18
2017-07-12 11:38:27 -04:00
Tony Garnock-Jones
f6c145b4a7
Fix poor on-stop/post-stop separation. Additional fix for #23 .
2017-07-12 11:36:20 -04:00
Tony Garnock-Jones
46e5922dc8
Stop a new facet with no endpoints. Fixes #18 .
2017-07-12 11:12:10 -04:00
Tony Garnock-Jones
6db1e67a7e
Beginnings of test case for termination order
2017-07-12 11:03:23 -04:00
Tony Garnock-Jones
76c1a5b347
Tentative repair to startup/shutdown ordering problems
2017-07-12 11:02:26 -04:00
Tony Garnock-Jones
990ad4ca72
Pretty-print struct process instances
2017-07-12 10:29:26 -04:00
Tony Garnock-Jones
3073d8b614
Avoid some stop-when/rising-edge/flag combinations, and some rising-edge uses generally
2017-07-05 07:13:36 -04:00
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