Commit Graph

3828 Commits

Author SHA1 Message Date
Asumu Takikawa
3feeb553ac Fix keyword function type conversion in TR
Makes rest arguments work properly and handles
keywords passed in by sorted order.

original commit: c8554e2489beaab392fe46c9b3eafeb0bf8c2d22
2014-01-28 00:13:43 -05:00
Asumu Takikawa
99f3f62a6e Fix parsing for keyword & rest arg function types
Closes PR 14309

original commit: b9493ab142e910053ffe7db7d30fe434e8ba2de1
2014-01-28 00:13:12 -05:00
Eric Dobson
9926acb187 Fix type of parameter? to correctly account for variance.
Closes PR 14315.

original commit: 4e9d15306c604a759d10005af557783f7d410477
2014-01-27 08:51:10 -08:00
Eric Dobson
5bd25a94a6 Add rough draft of docs for Top/Bot to quiet DrDr.
original commit: 2016ab1c2fa789b2ee18fb8bad695e8a6b75c656
2014-01-27 08:36:35 -08:00
Eric Dobson
4621b47691 Make parse type use literal-syntax-classes.
Fixes arrows in check-syntax.
Adds actual bindings for Top and Bot filters.
Make tests give more info on failure, and change test to not use Number.

original commit: 7fabf5f3fcda609a86e67f4b61b0b7e0d7fcafd5
2014-01-25 17:48:20 -08:00
Eric Dobson
dd6d7989fa Split out implementation of define-literal-syntax-class.
original commit: 597ab590b4cadfcbd93d97badabaf004d6422af1
2014-01-25 16:03:11 -08:00
Eric Dobson
af1aeb60a1 Cleanup parse-type.
Add syntax class for @ and !.
Add use literal sets.
Make full-latent cleaner.

original commit: c04ad0bb8d79e6336fd5281a4c07333139524153
2014-01-25 16:03:10 -08:00
Asumu Takikawa
04b18f611f Minor fix for REPL type printing
The old code worked, but triggered a contract
violation when contracts were enabled.

original commit: 8f0c298b6d6c16be93ca521005dfe531166263d8
2014-01-25 12:29:33 -05:00
Asumu Takikawa
58ea912880 Improve type inference for ValuesDots types
Add more precise types for `call-with-input-string`
that take advantage of the improved inference.

Closes PR 14050

original commit: 59bdb6c9a86d9b4b471d49f4a0277279bb6c5985
2014-01-25 12:29:32 -05:00
Asumu Takikawa
606da5fbeb Allow typecheck tests to specify a failure regexp.
The regexp checks against the exception error message.
I'm adding this because it will be useful for unit
tests for type-checking classes.

original commit: 4c7d902d8f2930899f44fa164538e445e1fb421f
2014-01-24 11:25:15 -05:00
Asumu Takikawa
08988e1ce0 Fix a printing bug for some type results
original commit: f32a42f2f44d2b8a833eb0ce4f9ab678e96e3413
2014-01-24 00:42:30 -05:00
Asumu Takikawa
35b60ceacd Fix debug printing mode for pretty-printed types
Previously, pretty-printing for types would override the
debug mode by bypassing normal printing. Instead, switch
the `pretty-format-type` function to a debug version when
in debug mode.

original commit: 8ad0e6b52a260eea4329335d81f282802c2ae1ab
2014-01-24 00:42:30 -05:00
Asumu Takikawa
888d681ecb Allow other kinds of for clauses in for/hash:
Closes PR 14306

original commit: 120ce62bbb27e10d3f55c9c99cbd14d7cba9fd22
2014-01-23 12:14:48 -05:00
Asumu Takikawa
b5c485863d Make TR tests pass with contracts on again
original commit: 6b954be2c798d092e12b949442ea0ac49f796045
2014-01-21 21:21:43 -05:00
Asumu Takikawa
e3fcab3105 Update TR mutation error message to new format
original commit: 1b458c97d7cc478950b8ab75d41cf113f64d9015
2014-01-21 21:21:43 -05:00
Asumu Takikawa
2e539c9e21 Export type-mismatch and use pretty-printing
Previously, the internal `expected-but-got` handled the
pretty-printing but it makes more sense to do it in
`type-mismatch` since it's useful for other modules.

original commit: 00387001dc54d132a87a98e89498e0c2cf9cb35f
2014-01-21 21:21:43 -05:00
Asumu Takikawa
0886c4f2a7 Fix type printer test
Forgot to change the test string for commit
b5bc36391693baa1b1953f7860d2d0b0821e9830

original commit: a1b79f0bd225234dcf06b41a9ca0ef28353c02fb
2014-01-21 20:22:39 -05:00
Asumu Takikawa
223f4d8f6f Add doc examples for other TR REPL commands
original commit: b0213b7ebe5c712cf1efa82dc11dbdc0fd0589b1
2014-01-21 18:53:25 -05:00
Asumu Takikawa
0dda32fb4a Use pretty-printing for all TR REPL commands
original commit: b5bc36391693baa1b1953f7860d2d0b0821e9830
2014-01-21 18:52:45 -05:00
Eli Barzilay
d720bcd2e5 2013 -> 2014
original commit: c61a549840ee0ba5f2e5da56523fd3b26efeb895
2014-01-21 15:02:21 -05:00
Eric Dobson
2c03aae9f1 Make case-> reduce to -> when it can.
original commit: f2431bd819b4458cd6b39e3258478f4907d5bf5b
2014-01-19 13:15:44 -08:00
Asumu Takikawa
09b0ca2ef3 Fix type inference helper on AnyValues range
This bug allows a test to be written for the previous
commit. Previously, it would throw a match error.

original commit: b5d4333d2c52d0103eb7d508b41726836d292c24
2014-01-16 17:42:01 -05:00
Asumu Takikawa
a5937ba827 Fix types for process and process*
Closes PR 14297

original commit: 0efc6d59e708a680307386a01a06989be3f8bbc0
2014-01-16 17:42:01 -05:00
Eric Dobson
6eb44688c7 Optimize cons/sc contracts.
original commit: a33b26fc04051e6041dac3951b58c98b6a6cd29e
2014-01-15 08:40:08 -08:00
Eric Dobson
f296f54acd Optimize away recursive contracts in more cases.
original commit: 74d79a50512835441709f6b61ddac246cb58ef6d
2014-01-14 23:49:31 -08:00
Eric Dobson
9522355e0b Make numeric contracts in unions better.
original commit: 6d05e41a248372aa3eef52bfa01cbdbb301dd79a
2014-01-14 22:52:18 -08:00
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