Commit Graph

3452 Commits

Author SHA1 Message Date
Eric Dobson
8bc852da10 Add tests to check conversion of types to static contracts.
original commit: 4ad412d71cfa616bccec6d9debe6cb478bda520c
2014-01-14 22:31:21 -08:00
Eric Dobson
4cf1c41bff Remove unused require.
original commit: 9bd577c4260d4f99275ff74d303c9a37fdd684f7
2014-01-14 19:37:13 -08:00
Eric Dobson
a49df31fed Make typechecking code use label instead of template for binding.
original commit: 93e9aaf99664e1bcf1da7337158352494f878d1e
2014-01-14 19:37:13 -08:00
Eric Dobson
e461393ea8 Minor cleanup in utils.
original commit: eaaa4b2923ab1cfb6dc2f81b272af5ba26580dc7
2014-01-14 19:37:12 -08:00
Eric Dobson
9b6f54cb10 Reduce for-template imports in environment code.
original commit: 7a31c966c8d6079e4b44ca6a20afce4ef8f9b72c
2014-01-14 19:37:12 -08:00
Eric Dobson
961532e499 Reduce and document template requires in types.
original commit: 4537b52b6a20d5eeffb9b3c2131cbd977a0c3ad8
2014-01-14 19:37:12 -08:00
Eric Dobson
fdb60234ed Make tc-app code match using label phase.
original commit: 3d0cadf0a8baedf75df55be810cb4437734ea7e0
2014-01-14 19:37:11 -08:00
Eric Dobson
e068dda6a1 Make annotate classes use for label.
original commit: e8c65ff7593056cb309a6058262d7f01fc84fedd
2014-01-14 19:27:10 -08:00
Eric Dobson
efa7151554 Make parse-type do a for-label require.
original commit: 476c7666b7368f4408a600313c4f4731d6ea79b8
2014-01-14 19:27:10 -08:00
Eric Dobson
fce6037788 Add possible to TR optimizer message
original commit: 403a8b42e9aca09aab78da0d7d0c1c15bafb02a3
2014-01-14 08:48:07 -08:00
Eric Dobson
3cc500cd2d Add float optizations back (but only on floats).
original commit: dad6c6dec45074b4d0eaf909b7ea800b0db67c88
2014-01-14 08:48:07 -08:00
Eric Dobson
8914d82b77 Change messaging on non float complex expressions.
original commit: 70d9f4bdb6a8fd4b4aa037e0a4b472eec9f3f16c
2014-01-14 08:48:07 -08:00
Eric Dobson
fcc8ef6eb4 Move broken float optimizations out of main syntax class.
Introduces slight regression in already broken checks.

original commit: 4fb96bdfa52657bf7596291658e9f7f877258fa6
2014-01-13 22:35:41 -08:00
Eric Dobson
e2d6458f3e Fix class static contracts and add tests.
original commit: 608eb9df8fed1d0fac8dd528051d5308526efa2c
2014-01-13 21:01:20 -08:00
Eric Dobson
3439faef99 Fixup contract restricts.
Add useful printing.
Add removal of trival constraints.
Fix bug in close loop when constraints were not getting closed correctly.

original commit: e164a959eb3aa97938fb4ae9f98cfb67aee38b9f
2014-01-13 21:01:20 -08:00
Eric Dobson
e4344ff450 Fixup the static contract documentation.
original commit: 8f13c2f966d3c5fe83c679d46bce462ebaf65da8
2014-01-13 21:01:19 -08:00
Eric Dobson
515508c219 Change name of recursive contract to not colide with racket/contract.
original commit: c95084cedf883807b2eecb37ba2ac14d7f4bc4ad
2014-01-13 21:01:19 -08:00
Eric Dobson
db5ce70361 Add in-list and in-hash to instantiate.
original commit: a8199ad1d2586f18d70cb70c79bc87256c030b1a
2014-01-13 21:01:19 -08:00
Eric Dobson
816a72685a Add comment to simple static contracts.
original commit: 0be83b6c67fec940b5b31f861b719401a7476056
2014-01-13 21:01:19 -08:00
Eric Dobson
96971157ca Remove terminal contract generic interface.
original commit: 9bb66a9c58f0a15b97ce9e8f4d24bc970913ad10
2014-01-13 21:01:19 -08:00
Eric Dobson
db19acbc71 Add names to flat static contracts.
original commit: 751835c7dac73d6edb45ce9349bc329593250ded
2014-01-13 21:01:19 -08:00
Eric Dobson
c933380f40 Make polydotted types generate contracts.
original commit: 87414956ab23f0d4812b2cc5bd29025b0345666a
2014-01-13 21:01:19 -08:00
Eric Dobson
041577d7bb Handle complicated parametric types in TR contract generation.
Closes PR 14270.

original commit: f394d3d26069467e8e6d023e5202b3b37e59ea0e
2014-01-13 21:01:19 -08:00
Eric Dobson
efe4dc50ba Simplify recursive contracts when optimizing.
original commit: 738efdc263c347321879e73405425cff2558c14b
2014-01-13 21:01:18 -08:00
Eric Dobson
9eaba7098a Add custom printer for terminal contracts.
original commit: bb74b55f67087848d6eec057e00fd925b0877bc4
2014-01-13 21:01:18 -08:00
Eric Dobson
e0a635b8c6 Make static contracts catch simple parametric contract errors.
original commit: 497a7faa8310ad78d5760f2ee9fe8e4da2570897
2014-01-13 21:01:18 -08:00
Eric Dobson
02454a62fd Add sc-traverse for folding over static contracts.
original commit: 6deb1e3193b81b2091ddda0a9aee445b9d857c50
2014-01-13 21:01:18 -08:00
Eric Dobson
b3fc8b5667 Make contract generation failure tests pass, and simplify reason logic.
original commit: f17f6655dd2400ffb91e1116513db4ce2056b743
2014-01-13 21:01:18 -08:00
Eric Dobson
6b83691093 Made error messages better for contract generation failures.
original commit: 1acd1537e8e439376da4c925dd4cc96334467f16
2014-01-13 21:01:18 -08:00
Eric Dobson
9525b658d1 Made reasons get passed through and re-add a failing test.
original commit: 62f4aec04f91d0740101bc01fc12118a56ac44a6
2014-01-13 21:01:18 -08:00
Eric Dobson
a021ecf313 Added generic mechanism for easy to write terminal contracts.
original commit: fff652b44b1a24620469029385c444cc83ae6ca1
2014-01-13 21:01:17 -08:00
Eric Dobson
b3392ea759 Added terminal sc contracts, and made optimizer use them.
original commit: 9b9ec7fd5a9c8a357bceaa28de16f08d0083a5e4
2014-01-13 21:01:17 -08:00
Eric Dobson
36e7d251d8 Sorta working new lengths.
original commit: dcb8fa2b5e74d0da9e6a8237cf5c5862681e00c8
2014-01-13 21:01:17 -08:00
Eric Dobson
eec8723205 Make simple static contracts not combinators.
original commit: 9eea867e9afc22246edafdd091d2d2a832986eee
2014-01-13 21:01:17 -08:00
Eric Dobson
30a88b5909 Remove unsound optimizations.
original commit: 895fd4b917defcd2a467ebfb5354a46995914521
2014-01-13 21:01:17 -08:00
Eric Dobson
0409288195 Add more static contract tests.
original commit: de879b06832e9d978d5bce853a9635ae67408372
2014-01-13 21:01:17 -08:00
Eric Dobson
56c8cec228 Make tests more standardized.
original commit: 5ed67939b474d58e548a03edfb11cfbb2c7f7300
2014-01-13 21:01:17 -08:00
Eric Dobson
9c6d897d02 Make optimize for static contracts have saner interface.
original commit: 6cfb035b3f5aab1e17a93d4cfab98d29cfef760a
2014-01-13 21:01:17 -08:00
Eric Dobson
be2c246d1f Make many more static contract optimizer tests and add some more optimizations.
original commit: 6961c0ecc812ac0653c71e0acf55a66c6300ba82
2014-01-13 21:01:16 -08:00
Eric Dobson
13d40d3616 Remove/disable broken tests.
original commit: e32a7603b2c7c188add915561d05e9b4d3362593
2014-01-13 21:01:16 -08:00
Eric Dobson
9b858ddfd0 Add a bunch of documentation to static contracts.
original commit: 93488e49b44f51188c2f54b939ddc8379f14e285
2014-01-13 21:01:16 -08:00
Eric Dobson
37ec886258 Make static contracts for channels.
original commit: 333a93000ab2593950e123cda67345a6e4e28f66
2014-01-13 21:01:16 -08:00
Eric Dobson
e01a695021 Add README.
original commit: 3d769c2df13eb82d655e4c352e00efbe281f03b3
2014-01-13 21:01:16 -08:00
Eric Dobson
efab0bb5ef Move contract conversion into the old file.
original commit: 6f56948cff75dd4497b742ae01cd5df18c654e6f
2014-01-13 21:01:16 -08:00
Eric Dobson
ba6a68d2b0 Enable static contract optimization.
original commit: 97cd169e800d9be1b256e0423ab6b7e2c42089b2
2014-01-13 21:01:16 -08:00
Eric Dobson
5a2d6f9c6b Make version of TR that builds new contracts.
original commit: eb03d5c298ef77bc9e382f8a6d1bfc891ad5c076
2014-01-13 21:01:15 -08:00
Eric Dobson
e832c436e5 Moved static-contract tests to TR test directory.
original commit: ae9a8c9f25e50d530ad13a6d9bd6b01b9cd4ff4b
2014-01-13 21:01:15 -08:00
Eric Dobson
e83c805771 Put static contracts in main repo.
original commit: 43ce10b5fed9b145eb60e26de832811781ae5889
2014-01-13 21:01:15 -08:00
Asumu Takikawa
308680c98f Replace chomp with string-trim, delete former
original commit: 8f461f9f88ec748a0b456c605efd285c8e292663
2014-01-13 17:34:03 -05:00
Asumu Takikawa
c5721f2c71 Fix printer tests when run individually
These tests worked in the harness but broke when run
outside of the harness.

original commit: 820a297801f1dccb6130ca55073fb04d595133f7
2014-01-13 16:56:07 -05:00