Commit Graph

4 Commits

Author SHA1 Message Date
Asumu Takikawa
62c86d5ddd Added occurrence typing for private fields.
This also tracks mutation of private fields to ensure that only
non-mutated field types are allowed to be refined.
2015-02-12 16:31:18 -05:00
Sam Tobin-Hochstadt
ae0717d970 Move generated contracted provides to a submodule.
This allows the main TR module not to explicitly
depend on the contract library. Each exported name
can be redirected to either the original name (for a
typed client) or to another macro (for an untyped
client) which expands to a `local-require` for the
relevant submodule (named `#%contract-defs`).

Thanks to Matthew for the initial idea and an
implementation in plai-typed that this is based on.
2015-02-08 20:37:04 -05:00
Asumu Takikawa
2c0d4b8aec Undo local-require change from 7afeada73d
Recent changes to contract generation have made this
`local-require` unnecessary. Using `require` is preferable
since `local-require` can interact poorly with submodules.
2015-01-14 00:23:27 -05:00
Sam Tobin-Hochstadt
44e3cdfb71 Remove extra directories. 2014-12-02 00:53:36 -05:00