Sam Caldwell
adc0819be0
limited support for effect polymorphism
2020-03-10 11:44:09 -04:00
Sam Caldwell
49b34268ad
more flink
2020-03-10 11:44:09 -04:00
Sam Caldwell
d5a8d27ae3
progress on flink
2020-03-10 11:44:09 -04:00
Sam Caldwell
4e335f8049
first take on match-define-like form
2020-03-10 11:44:09 -04:00
Sam Caldwell
d236d99d47
stop-when derived form
2020-03-10 11:44:09 -04:00
Sam Caldwell
a0a30c719a
positive? primitive
2020-03-10 11:44:09 -04:00
Sam Caldwell
cf2162797a
for/first
2020-03-10 11:44:09 -04:00
Sam Caldwell
7b9595a22a
zero? primitive
2020-03-10 11:44:09 -04:00
Sam Caldwell
667231d3e8
examples/flink.rkt: work on job manager and utilities
2020-03-10 11:44:08 -04:00
Sam Caldwell
6b58c20832
Use a mutable, compile-time table for type metadata
2020-03-10 11:44:08 -04:00
Sam Caldwell
b9e99fc8af
Make inference slightly more lenient wrt unions
...
some tests not working because of syntax-property failure
2020-03-10 11:44:08 -04:00
Sam Caldwell
45e7ea609d
add error form
2020-03-10 11:44:08 -04:00
Sam Caldwell
f6976c0281
improve handling of type variables
2020-03-10 11:44:08 -04:00
Sam Caldwell
0752089101
tweak how pattern types are handled
2020-03-10 11:44:08 -04:00
Sam Caldwell
ad4b94422d
flink-support
2020-03-10 11:44:08 -04:00
Sam Caldwell
b56319042c
query-hash
2020-03-10 11:44:07 -04:00
Sam Caldwell
f4f517cd02
require&provide maybe,either
2020-03-10 11:44:07 -04:00
Sam Caldwell
c9378d057d
move patterns to core expressions
2020-03-10 11:44:07 -04:00
Sam Caldwell
9cb884a490
more primitive operations
2020-03-10 11:44:07 -04:00
Sam Caldwell
e7f792e624
more hash operations
2020-03-10 11:44:07 -04:00
Sam Caldwell
f1be0fdfac
more list operations
2020-03-10 11:44:06 -04:00
Sam Caldwell
93e1fea202
typed-flink: task manager
2020-03-10 11:44:06 -04:00
Sam Caldwell
16ce86c6c9
make sure begin always has a definition context
2020-03-10 11:44:06 -04:00
Sam Caldwell
c097e218d0
more set operations
2020-03-10 11:44:06 -04:00
Sam Caldwell
12fd4ad756
more hash functions
2020-03-10 11:44:06 -04:00
Sam Caldwell
f460011a5d
typed flink - task runner
2020-03-10 11:44:06 -04:00
Sam Caldwell
51e26efda6
fix output type for actors without interests
2020-03-10 11:44:06 -04:00
Sam Caldwell
122f7629c3
fix argument order bug in hash-update
2020-03-10 11:44:05 -04:00
Sam Caldwell
c96725b8e3
typed flink data definitions
2020-03-10 11:44:05 -04:00
Sam Caldwell
1feab5d174
assertion-struct macro
2020-03-10 11:44:05 -04:00
Sam Caldwell
530c17ff32
split out core-expressions with #%app, which is now more explicit
2020-03-10 11:44:05 -04:00
Sam Caldwell
ed01517c8c
Improve scoping structure of for-clauses
2020-03-10 11:44:05 -04:00
Sam Caldwell
10ae47c26c
make list operations polymorphic functions
2020-03-10 11:44:05 -04:00
Sam Caldwell
6f52c7fc61
fix ty-var bug
2020-03-10 11:44:05 -04:00
Sam Caldwell
9d5453ff5b
first take on local inference
2020-03-10 11:44:05 -04:00
Sam Caldwell
f00ec81e48
move definition of primitive base types
2020-03-10 11:44:04 -04:00
Sam Caldwell
b1cca8f377
subtyping for effect-free functions
2020-03-10 11:44:04 -04:00
Sam Caldwell
cf17ae28a5
fixup fold in book club
2020-03-10 11:44:04 -04:00
Sam Caldwell
f6cd87394e
start on for loops
2020-03-10 11:44:04 -04:00
Sam Caldwell
39d81686fd
hash tables
2020-03-10 11:44:04 -04:00
Sam Caldwell
2ddafb240a
add sequences
2020-03-10 11:44:04 -04:00
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