Commit Graph

343 Commits

Author SHA1 Message Date
Sam Caldwell c96725b8e3 typed flink data definitions 2020-03-10 11:44:05 -04:00
Sam Caldwell 1feab5d174 assertion-struct macro 2020-03-10 11:44:05 -04:00
Sam Caldwell 530c17ff32 split out core-expressions with #%app, which is now more explicit 2020-03-10 11:44:05 -04:00
Sam Caldwell ed01517c8c Improve scoping structure of for-clauses 2020-03-10 11:44:05 -04:00
Sam Caldwell 10ae47c26c make list operations polymorphic functions 2020-03-10 11:44:05 -04:00
Sam Caldwell 6f52c7fc61 fix ty-var bug 2020-03-10 11:44:05 -04:00
Sam Caldwell 9d5453ff5b first take on local inference 2020-03-10 11:44:05 -04:00
Sam Caldwell f00ec81e48 move definition of primitive base types 2020-03-10 11:44:04 -04:00
Sam Caldwell b1cca8f377 subtyping for effect-free functions 2020-03-10 11:44:04 -04:00
Sam Caldwell cf17ae28a5 fixup fold in book club 2020-03-10 11:44:04 -04:00
Sam Caldwell f6cd87394e start on for loops 2020-03-10 11:44:04 -04:00
Sam Caldwell 39d81686fd hash tables 2020-03-10 11:44:04 -04:00
Sam Caldwell 2ddafb240a add sequences 2020-03-10 11:44:04 -04:00
Sam Caldwell e88b64f5c1 allow polymorphic function definitions 2020-03-10 11:44:04 -04:00
Sam Caldwell 82705763b4 type abstractions 2020-03-10 11:44:04 -04:00
Sam Caldwell 581319eacb split out primitives 2020-03-10 11:44:03 -04:00
Sam Caldwell 3c800a92db split out files 2020-03-10 11:44:03 -04:00
Sam Caldwell 29c446df39 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
2020-03-10 11:44:03 -04:00
Sam Caldwell 006e5e0bf5 simplify implementation of overlaps? 2020-03-10 11:44:03 -04:00
Sam Caldwell fa7af3444c look more at book club roles 2020-03-10 11:44:03 -04:00
Sam Caldwell 58c1b52ac4 More leader-related role finangling 2020-03-10 11:44:03 -04:00
Sam Caldwell d5ac65007e Keep track of branches for role effects in turnstile lang 2020-03-10 11:44:02 -04:00
Sam Caldwell 572be6b45d look into leader impl simulating spec a bit 2020-03-10 11:44:02 -04:00
Sam Caldwell 5752c9299c some more simulation tests 2020-03-10 11:44:02 -04:00
Sam Caldwell 7dfc4a93da leader-spec simulates itself! 2020-03-10 11:44:02 -04:00
Sam Caldwell ff81748848 simplest simulation example passes 2020-03-10 11:44:02 -04:00
Sam Caldwell f0c52f6eaa subtyping 2020-03-10 11:44:02 -04:00
Sam Caldwell e141abd678 remember initial state when compiling 2020-03-10 11:44:02 -04:00
Sam Caldwell d285de5bb2 small improvements 2020-03-10 11:44:01 -04:00
Sam Caldwell 04f4acbda3 incorporate branching! 2020-03-10 11:44:01 -04:00
Sam Caldwell abce2d6046 More on facet states, including graphviz view 2020-03-10 11:44:01 -04:00
Sam Caldwell d35495029b prototyping interpretation of roles as state machines 2020-03-10 11:44:01 -04:00
Sam Caldwell a3380ea403 fixups for package installation 2019-08-26 11:08:30 -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 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 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