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