Sam Caldwell
96e9431e15
first take on match-define-like form
2019-08-26 11:09:23 -04:00
Sam Caldwell
8cf13a9bbf
stop-when derived form
2019-08-26 11:09:23 -04:00
Sam Caldwell
c283dae7e4
positive? primitive
2019-08-26 11:09:23 -04:00
Sam Caldwell
559e9bb11b
for/first
2019-08-26 11:09:22 -04:00
Sam Caldwell
df9f3ebbd2
zero? primitive
2019-08-26 11:09:22 -04:00
Sam Caldwell
c8a1253d7b
examples/flink.rkt: work on job manager and utilities
2019-08-26 11:09:22 -04:00
Sam Caldwell
fc220a4e16
Use a mutable, compile-time table for type metadata
2019-08-26 11:09:22 -04:00
Sam Caldwell
a84b80a49b
Make inference slightly more lenient wrt unions
...
some tests not working because of syntax-property failure
2019-08-26 11:09:22 -04:00
Sam Caldwell
ed695c66d6
add error form
2019-08-26 11:09:22 -04:00
Sam Caldwell
4420f6cd74
improve handling of type variables
2019-08-26 11:09:21 -04:00
Sam Caldwell
d9e651a668
tweak how pattern types are handled
2019-08-26 11:09:21 -04:00
Sam Caldwell
66a3ece353
flink-support
2019-08-26 11:09:21 -04:00
Sam Caldwell
db41cb63d7
query-hash
2019-08-26 11:09:21 -04:00
Sam Caldwell
349fa19d26
require&provide maybe,either
2019-08-26 11:09:21 -04:00
Sam Caldwell
5238b74912
move patterns to core expressions
2019-08-26 11:09:21 -04:00
Sam Caldwell
3def83502a
more primitive operations
2019-08-26 11:09:20 -04:00
Sam Caldwell
5fda25a42e
more hash operations
2019-08-26 11:09:20 -04:00
Sam Caldwell
9dd11ef7db
more list operations
2019-08-26 11:09:20 -04:00
Sam Caldwell
8f92368d8f
typed-flink: task manager
2019-08-26 11:09:20 -04:00
Sam Caldwell
dc0e434caa
make sure begin always has a definition context
2019-08-26 11:09:20 -04:00
Sam Caldwell
fd40ab2e52
more set operations
2019-08-26 11:09:20 -04:00
Sam Caldwell
5310956848
more hash functions
2019-08-26 11:09:20 -04:00
Sam Caldwell
1590687e7a
typed flink - task runner
2019-08-26 11:09:19 -04:00
Sam Caldwell
68f14919d7
fix output type for actors without interests
2019-08-26 11:09:19 -04:00
Sam Caldwell
309d6867d9
fix argument order bug in hash-update
2019-08-26 11:09:19 -04:00
Sam Caldwell
8819af878e
typed flink data definitions
2019-08-26 11:09:19 -04:00
Sam Caldwell
3b35000a5e
assertion-struct macro
2019-08-26 11:09:19 -04:00
Sam Caldwell
69660e02dd
split out core-expressions with #%app, which is now more explicit
2019-08-26 11:09:19 -04:00
Sam Caldwell
4b692428af
Improve scoping structure of for-clauses
2019-08-26 11:09:18 -04:00
Sam Caldwell
2c0bef7da4
make list operations polymorphic functions
2019-08-26 11:09:18 -04:00
Sam Caldwell
75539d0ec3
fix ty-var bug
2019-08-26 11:09:18 -04:00
Sam Caldwell
47d2568a93
first take on local inference
2019-08-26 11:09:18 -04:00
Sam Caldwell
1bdb9b7820
move definition of primitive base types
2019-08-26 11:09:18 -04:00
Sam Caldwell
97b3a9a0b5
subtyping for effect-free functions
2019-08-26 11:09:18 -04:00
Sam Caldwell
63089efdbc
fixup fold in book club
2019-08-26 11:09:17 -04:00
Sam Caldwell
1b2527920e
start on for loops
2019-08-26 11:09:17 -04:00
Sam Caldwell
899d8c460d
hash tables
2019-08-26 11:09:17 -04:00
Sam Caldwell
af56bc283d
add sequences
2019-08-26 11:09:17 -04:00
Sam Caldwell
33522647fd
allow polymorphic function definitions
2019-08-26 11:09:17 -04:00
Sam Caldwell
c9563cd0a2
type abstractions
2019-08-26 11:09:17 -04:00
Sam Caldwell
80ef12ef4d
split out primitives
2019-08-26 11:09:16 -04:00
Sam Caldwell
1c9f53590d
split out files
2019-08-26 11:09:16 -04:00
Sam Caldwell
c9a44ab45e
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
2019-08-26 11:09:16 -04:00
Sam Caldwell
e3c7926b92
simplify implementation of overlaps?
2019-08-26 11:09:16 -04:00
Sam Caldwell
7815fad415
examples/flink: implement task delegation roles in terms of abstract
...
templates
2019-08-26 11:09:16 -04:00
Sam Caldwell
e16db164df
look more at book club roles
2019-08-26 11:09:16 -04:00
Sam Caldwell
362d7c877d
More leader-related role finangling
2019-08-26 11:09:15 -04:00
Sam Caldwell
19f915620e
Keep track of branches for role effects in turnstile lang
2019-08-26 11:09:15 -04:00
Sam Caldwell
c726fb2bdd
look into leader impl simulating spec a bit
2019-08-26 11:09:15 -04:00
Sam Caldwell
47dc84f034
some more simulation tests
2019-08-26 11:09:15 -04:00
Sam Caldwell
0cc550ea43
leader-spec simulates itself!
2019-08-26 11:09:15 -04:00
Sam Caldwell
324557e8b5
simplest simulation example passes
2019-08-26 11:09:14 -04:00
Sam Caldwell
50448f41a7
subtyping
2019-08-26 11:09:14 -04:00
Sam Caldwell
126046caa9
remember initial state when compiling
2019-08-26 11:09:14 -04:00
Sam Caldwell
a8d398eec7
small improvements
2019-08-26 11:09:13 -04:00
Sam Caldwell
170e2b28ce
incorporate branching!
2019-08-26 11:09:13 -04:00
Sam Caldwell
480b67ea51
More on facet states, including graphviz view
2019-08-26 11:09:13 -04:00
Sam Caldwell
64016053ff
prototyping interpretation of roles as state machines
2019-08-26 11:09:13 -04: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