Commit Graph

687 Commits

Author SHA1 Message Date
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
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