Commit Graph

76 Commits

Author SHA1 Message Date
Sam Caldwell 65d14de735 track branching for each kind of effect in match 2020-03-10 10:57:35 -04:00
Sam Caldwell 66226ac725 improve spawn error messages 2020-02-25 16:14:30 -05:00
Sam Caldwell 142206d8e3 typed define/dataflow 2019-10-03 15:24:31 -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 5dee1981b6 provide Branch and Effs types 2019-08-26 11:09:29 -04:00
Sam Caldwell dcc4e3c411 During type abbreviation 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 60ed8c2677 tweak how types are printed 2019-08-26 11:09:27 -04:00
Sam Caldwell 23bee726b1 priorities for query handlers, on-add, on-remove 2019-08-26 11:09:26 -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 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 99d5916bd1 limited support for effect polymorphism 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 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 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 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 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 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 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 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 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 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 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 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