Commit Graph

4190 Commits

Author SHA1 Message Date
Eric Dobson
0b626757bb Correctly extend tvars in the right place during inference.
Removes wrong extension of tvars in apply as well.

original commit: 1d43b583fb04140f55c290fee98db28467d96c98
2014-05-17 22:13:49 -07:00
Eric Dobson
d3ea8b43e2 Add missing %s and corresponding unit tests.
original commit: eaa41a2a8ae3862ce82d40ee9d8bf41af938239d
2014-05-17 22:13:49 -07:00
Eric Dobson
89692576a7 Remove special case of subtype in tc-apply.
original commit: 7d88b7a6cbbe98de7ab8e2f16a7aeb95f13b9a0d
2014-05-17 22:13:49 -07:00
Eric Dobson
7744b379b2 Allow inference when the result has free variables.
original commit: 7e45bc7166ff4d0b06af15ea29b23b19a7668cba
2014-05-17 22:13:49 -07:00
Asumu Takikawa
e118bb5900 Fix rest arg contract generation for case-> types
The generated contracts are still not ideal when more than
one case has a rest argument, since a later case in the
case-> contract may pass but case-> won't try all of them.

original commit: fce98517e6ba4954dfa8920e31e7e3eef50155ca
2014-05-16 14:59:43 -04:00
Asumu Takikawa
fbaaecf2cc Rackety in TR tests
original commit: 02d046daf1529bc75e13d5b80b3d6a7f8d46a28c
2014-05-16 14:55:35 -04:00
Asumu Takikawa
21200f0772 Add typed-untyped interaction test harness
original commit: 5905fbd92a96b934875d1f11892d334fface3cc6
2014-05-16 14:55:35 -04:00
Eric Dobson
b1b70f03fd Correctly use a pattern variable in tc-app-apply.
Closes PR 14508.

original commit: 7da7eacbda9110ab7e0bc1a7b0fa294dc0f60da2
2014-05-14 22:39:20 -07:00
Asumu Takikawa
3d8722075b Fix GUI types and add missing types
Closes PR 14503
Closes PR 14507

original commit: 5fff7ce07e785bd1d220eec3fea1174c018e6013
2014-05-14 15:22:58 -04:00
Eric Dobson
a42b7a0792 Make inst fail on results that are not single valued.
original commit: 62ff915a56694203bd22b91d7eb69dfeba5bbc51
2014-05-13 22:59:36 -07:00
Eric Dobson
d9c7180a00 Make valuesdots subtyping not cause contract violations.
original commit: 2533effb2fdc02e29f149cfc55767a26ff88fbf1
2014-05-13 22:59:35 -07:00
Eric Dobson
871f8a5ca3 Abstract over dotted type in values.
original commit: f3fa035751dcf6cedac451f752211b65840df07a
2014-05-13 22:59:35 -07:00
Eric Dobson
8069311cf8 Make tc-lambda not internal error in poly dotted expected contexts.
original commit: a687415d6b56de1772620a09f85097659ac44225
2014-05-13 22:59:35 -07:00
Asumu Takikawa
4e5c49f7fd Fix type printing for simple latent filters
Don't print a simple filter for a function with more than
one argument or with a filter object that refers to an outer
variable.

This matches up with type parsing.

Closes PR 14510

original commit: 9435a8f44723091cca2e28879501f922bf910d69
2014-05-14 01:35:16 -04:00
Eric Dobson
a24c4717a9 Fix return tc-results when typechecking kw lambda.
original commit: 46701b6983c0c3269f6f7fbfa949ab9479b57cf8
2014-05-13 09:22:46 -07:00
Eric Dobson
bbf3ab9655 Actually fix all of the contract errors in substitute.rkt
original commit: 79df0996fdd0b2f4e09afdc5f4d41fb739805d34
2014-05-12 08:09:26 -07:00
Eric Dobson
cfdf846d76 Fix subst-all contract.
original commit: 3f5bddfcbd851ec5424df34bc975844dc77c8eda
2014-05-11 21:02:03 -07:00
Eric Dobson
1c77223c58 Correctly handle moving dotted vars to the dmap.
original commit: 4f7a119a087656c6f3af6cfa0b6f711b4a1b0ab9
2014-05-11 17:43:34 -07:00
Eric Dobson
e882825072 Add support for 1 sided contracts on Top types.
original commit: d7ed73d5ac34a666633b06dbae9d623455e0972b
2014-05-11 17:17:09 -07:00
Eric Dobson
5054402414 Add explicit -Null abbreviation.
Also clean up many use cases of -pair and (-val null) with -lst*.

original commit: 722c4fd075dc65792860f7f8e172c96106578a64
2014-05-09 20:21:11 -07:00
Eric Dobson
fddc956333 Add comments to tc/apply.
original commit: 6967ec7954c4b2e8c090e4c9ec37171e20a6e726
2014-05-09 20:21:11 -07:00
Eric Dobson
aa2d32287f Merge poly and simple function cases in tc-apply.
original commit: e56652bc1855dae0a3f255b4bac68140efeda74a
2014-05-09 20:21:11 -07:00
Eric Dobson
34c54f4ecd Add match expander for all polymorphic functions. Use it in tc-apply error messages.
original commit: d6ef3d774c7f5fe18a0e33159c45f5c2d71f862e
2014-05-09 20:21:11 -07:00
Eric Dobson
be1e28cb5d Simplify different cases in poly tc-apply.
original commit: afb3d99dc32942be34ffafdc3c114671dcc448cc
2014-05-09 20:21:11 -07:00
Eric Dobson
736a97e0b4 Remove extraneous check.
original commit: 976c1de96d21a61feefd3d1e4c5499e4f5a4fab3
2014-05-09 20:21:11 -07:00
Eric Dobson
6c069c38bd Simplify poly drest case in tc-apply.
original commit: cee3a3f2e195556af36018660327fb86f7b86f07
2014-05-09 20:21:10 -07:00
Eric Dobson
5517b7c5a5 Simplify failure case in tc-apply.
original commit: 345673c9533123c4715d26e41ad18f858710045b
2014-05-09 20:21:10 -07:00
Eric Dobson
58d7473490 Pull out typechecking subexpressions in tc-apply.
original commit: fafe7365ae2789fec3e18f2fa9e6e66349a29ae0
2014-05-09 20:21:10 -07:00
Eric Dobson
4d318d0534 Merge different cases in tc-apply.
original commit: 4c2dcfaeb644e65012a3d21986f478f9549b2af9
2014-05-09 20:21:10 -07:00
Eric Dobson
3a41a532d3 Make polydotted * case in apply similar to other cases.
original commit: 8ab29675d64b0d8113bf44cd7de5950dc8dfda49
2014-05-09 20:21:10 -07:00
Eric Dobson
27cabe8618 Make apply of poly functions more like regular functions.
original commit: 362747bfcdb8ceecd36b7e40d76de671b43d46e1
2014-05-09 20:21:10 -07:00
Eric Dobson
61ceccf36b Add tests for empty case-lambdas in apply.
original commit: 5e0670d87e4093a5aad9512b9b27a00915da0a31
2014-05-09 20:21:10 -07:00
Sam Tobin-Hochstadt
880ba74bc7 Fix contract.
First bug caught with new test.  Thanks Robby!

original commit: e1ab2ffcf4f22327345b90c4d3a633bcb815e74b
2014-05-08 16:19:30 -04:00
Eric Dobson
1e707d1b68 Remove duplicate case in infer.
original commit: e5d4aed2fb8560e83810b4a139485ef6d5c2a0c8
2014-05-07 21:13:04 -07:00
Eric Dobson
9a392d8c09 Add cgen/inv and use it.
original commit: 03373d11891800aad6bae04f8ccc3fdcb6703b88
2014-05-07 21:13:04 -07:00
Eric Dobson
5609e972b2 Make cset-meet take more than two arguments.
original commit: c7645170e36f5431d81595d2115010fd62071c9f
2014-05-07 21:13:03 -07:00
Sam Tobin-Hochstadt
52d81a3114 Add test that runs TR unit tests with contracts on.
original commit: 59ee811fb3a238e0203d1a7b5baa0986810c8d71
2014-05-07 12:21:25 -04:00
Sam Tobin-Hochstadt
baf7f6ccee Fix evaluator.rkt to work with dynamic-require.
original commit: 774afb6cafe6d547d40b20709f94a761dcf583bb
2014-05-07 12:21:25 -04:00
Asumu Takikawa
33ab9f0488 Fix registration of Opaque type alias in REPL
Closes PR 14487

original commit: 2bd20a652e7ae523871e165ebfcb616153d2eadd
2014-05-07 10:57:07 -04:00
Eric Dobson
59bf67e8bf Fix check-subforms and reenable TR contracts.
original commit: 0ba8cd9586666ee37397b525bc4c127710e81542
2014-05-06 22:50:58 -07:00
Asumu Takikawa
129f632e04 Add docs for TR's filter syntax
original commit: f638247b26c35efb7cbc3f501a32781a905128f8
2014-05-07 00:25:08 -04:00
Asumu Takikawa
9d7f92fbb7 Add a syntax for some asymmetric predicate filters
Relevant for PR 14423

original commit: 6c97d968530421968bc34f0d641a9047c98b5225
2014-05-07 00:25:08 -04:00
Sam Tobin-Hochstadt
a98676792e Allow TR contracts to be turned on with an env variable.
original commit: 3c78f7a0c8bc80efe0709b3aeaa9bd268c9ed83a
2014-05-06 20:29:42 -04:00
Sam Tobin-Hochstadt
35f1ffa7df Fix contract syntax in unit signature.
original commit: c324854e0eaf7db1b1ee32bfbb553b6f0dfef32d
2014-05-06 20:29:42 -04:00
Sam Tobin-Hochstadt
c42a196f58 Fix a test error.
original commit: f8da26dddcfd1cca16a4b18dee713a7006385a8d
2014-05-06 20:29:42 -04:00
Sam Tobin-Hochstadt
675fed4f98 Refactor type inference to eliminate exceptions.
This provides approximately 6% speedup on
`racket -l math/scribblings/math.scrbl` and about
14% speedup on the `new-metrics` test.

Mostly this involves threading #f through the whole
of the inference process.  There are several new
macros in `typed-racket/infer/fail` which are useful
for comprehensively using Maybe-monad style
programming in Racket.  Of particular note is `%`,
which satisfies (% f e ...) => (and e ... (f e ...))
but with the obvious fixes.

This commit also weakens several contracts which
caused the build of DrRacket and/or `math` to fail
when contracts were enabled.

original commit: f83950fbab8f7c1229bc020429b269a95785ca8c
2014-05-06 14:17:03 -04:00
Sam Tobin-Hochstadt
854e86d14c Misc minor improvements.
original commit: 5bd3a9ff2f22666b6f904d62bd9c810086ede4f9
2014-05-06 14:17:03 -04:00
Sam Tobin-Hochstadt
8bba85dd57 Improve TR timing, add more timing events.
original commit: 36ab55c1e5147e3c2e58c3cf2a92be86e5799414
2014-05-06 14:17:03 -04:00
Sam Tobin-Hochstadt
f7cdf5f1ae Fix an unfortunate bug in Union construction.
original commit: beefe73f7e7b6fbb547f327e206f447e4f6815b0
2014-05-06 14:17:03 -04:00
Asumu Takikawa
4c43cfb76c Add types for more of pict in typed/pict
original commit: ad8d0629f882a1fbb94f844b8fe72cbdd5dd2787
2014-05-06 12:28:40 -04:00