Sam Caldwell
16175c7bb4
fix bug in flink
2019-08-26 11:09:32 -04:00
Sam Caldwell
27abf8ab1e
detect cycles when compiling internal events
2019-08-26 11:09:32 -04:00
Sam Caldwell
e6524174e1
first take on inlining internal events
2019-08-26 11:09:31 -04:00
Sam Caldwell
135e6b655b
rudimentary support for internal events in proto
2019-08-26 11:09:31 -04:00
Sam Caldwell
202bcd6842
add messages to proto
2019-08-26 11:09:31 -04:00
Sam Caldwell
fa8822e40d
small cleanup
2019-08-26 11:09:31 -04:00
Sam Caldwell
c40b773282
reorganize examples
2019-08-26 11:09:31 -04:00
Sam Caldwell
be5bc19fcc
job manager role
2019-08-26 11:09:31 -04:00
Sam Caldwell
537b3fd272
more event constructors in proto
2019-08-26 11:09:31 -04:00
Sam Caldwell
8f8f4c416f
replace some dataflow with internal events in typed flink
2019-08-26 11:09:30 -04:00
Sam Caldwell
5f38b6cc94
allow equal? when there's overlap
2019-08-26 11:09:30 -04:00
Sam Caldwell
f597fdc499
internal events for typed lang
2019-08-26 11:09:30 -04:00
Sam Caldwell
963676c0c6
Change type names Know -> Asserted, \negKnow -> Retracted
2019-08-26 11:09:30 -04:00
Sam Caldwell
7462af708b
(during (know P) O ...) for internal knowledge
2019-08-26 11:09:30 -04:00
Sam Caldwell
e6b733325c
Create an actor-internal event system oriented around assertions and
...
messges.
internal form ~ external form
(know v) ~ (assert v)
(on (know p) ...) ~ (on (asserted p) ...)
(on (forget p) ...) ~ (on (retracted p) ...)
(realize! v) ~ (send! v)
(on (realize v) ...) ~ (on (message v) ...)
2019-08-26 11:09:30 -04:00
Sam Caldwell
affa47a2a5
minor printing stuff in examples
2019-08-26 11:09:29 -04:00
Sam Caldwell
458bf93fef
subgraph stuff working better
2019-08-26 11:09:29 -04:00
Sam Caldwell
c38bfdc2c0
some work on checking/finding subgraphs
2019-08-26 11:09:29 -04:00
Sam Caldwell
ee726c9177
task assigner spec and task manager type
2019-08-26 11:09:29 -04:00
Sam Caldwell
5dee1981b6
provide Branch and Effs types
2019-08-26 11:09:29 -04:00
Sam Caldwell
da900a258a
extract some code from verify body
2019-08-26 11:09:29 -04:00
Sam Caldwell
32f117df16
task performer spec and task runner type
2019-08-26 11:09:28 -04:00
Sam Caldwell
dcc4e3c411
During type abbreviation
2019-08-26 11:09:28 -04:00
Sam Caldwell
703a4c9589
support for dataflow, misc fixes and improvements
2019-08-26 11:09:28 -04:00
Sam Caldwell
3ebcf413c9
more accurate job manager type
2019-08-26 11:09:28 -04:00
Sam Caldwell
47ca363b18
add container types to proto
2019-08-26 11:09:28 -04:00
Sam Caldwell
0711cd3232
print types different
2019-08-26 11:09:28 -04:00
Sam Caldwell
6b272ad3d3
cleanups and improvements
2019-08-26 11:09:27 -04:00
Sam Caldwell
d93dc085fe
remove stop-when abomination
2019-08-26 11:09:27 -04:00
Sam Caldwell
3e1d4d108f
initial support for on start and on stop
2019-08-26 11:09:27 -04:00
Sam Caldwell
3ad0457bd5
small cleanup
2019-08-26 11:09:27 -04:00
Sam Caldwell
ce0c296b5c
parse quoted turnstile types
2019-08-26 11:09:27 -04:00
Sam Caldwell
60ed8c2677
tweak how types are printed
2019-08-26 11:09:27 -04:00
Sam Caldwell
eba7ed072c
cleanup
2019-08-26 11:09:27 -04:00
Sam Caldwell
c811b9a45f
forgot to add maybe.rkt and either.rkt
2019-08-26 11:09:26 -04:00
Sam Caldwell
3faaa1c580
typed flink working!
2019-08-26 11:09:26 -04:00
Sam Caldwell
23bee726b1
priorities for query handlers, on-add, on-remove
2019-08-26 11:09:26 -04:00
Sam Caldwell
3aedb63a9c
client and jobs (not working)
2019-08-26 11:09:26 -04:00
Sam Caldwell
807e6bb8f7
map list op
2019-08-26 11:09:26 -04:00
Sam Caldwell
98a779bdc1
resolve mutual dependency in flink via dataflow
2019-08-26 11:09:25 -04:00
Sam Caldwell
c37c060dc9
fancify patterns in flink
2019-08-26 11:09:24 -04:00
Sam Caldwell
c78b76b38c
fancify the patterns in book-club
2019-08-26 11:09:24 -04:00
Sam Caldwell
22a228ab4b
Use the communication type (via a turnstile `mode`) when elaborating
...
patterns in facets
2019-08-26 11:09:24 -04:00
Sam Caldwell
296a77d714
clean up patterns in flink
2019-08-26 11:09:24 -04:00
Sam Caldwell
4fdce7fc0c
elaborate more patterns
2019-08-26 11:09:24 -04:00
Sam Caldwell
13e988fe58
some work towards a better pattern language
2019-08-26 11:09:24 -04:00
Sam Caldwell
24efe43a6f
typed flink getting closer
2019-08-26 11:09:24 -04:00
Sam Caldwell
99d5916bd1
limited support for effect polymorphism
2019-08-26 11:09:23 -04:00
Sam Caldwell
20693f234e
more flink
2019-08-26 11:09:23 -04:00
Sam Caldwell
deca0a82be
progress on flink
2019-08-26 11:09:23 -04:00
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