Commit Graph

4331 Commits

Author SHA1 Message Date
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
Asumu Takikawa
cd713a577e Adjust TR Guide blurb, link to TR Reference
original commit: ca5fdbd9fa1ce92c88267128498d8ba1911cad1b
2014-05-06 11:41:58 -04:00
Asumu Takikawa
ed6ed86945 Add several examples to TR class reference docs
original commit: d3df30b8ee28b051d772312c6c6ef3d860a69e99
2014-05-05 18:38:21 -04:00
Asumu Takikawa
e1486afd9b Adjust open-input-file type for new keyword
original commit: 7eb94179e7fdda4e9932452d7d1b0de93bf57870
2014-05-04 12:13:06 -04:00
Eric Dobson
2f9c3f0265 Split out tc-expression to a separate file.
original commit: d68a1ebc35ab9c0ceea7f5e2682e503f64aba3fe
2014-05-03 15:19:56 -07:00
Eric Dobson
3c4cb45d46 Make external check be on an #%expression.
original commit: 6d841adb9ac822e6decd80ea00056a5724edc2bb
2014-05-03 14:44:36 -07:00
Eric Dobson
2efc8a92bf Change ascription to annotate the #%expression.
Also remove the now useless type-annotation tests.

original commit: 6cd79b6b7e57d54a43140e544ac0bcb6aedd2433
2014-05-03 14:18:55 -07:00
Eric Dobson
e80df03958 Remove obsolete special casing for ann and inst.
original commit: 48ca13f26d1adc8315c2f340549523cf76c3b61a
2014-05-03 14:18:55 -07:00
Eric Dobson
635979b6b2 Cleanup type-ascription.
original commit: 32fc2b99b8929d799685ca1299255e4becba0458
2014-05-03 14:18:55 -07:00
Eric Dobson
f23e278f31 Add #%expression around annotations.
original commit: 49b983ca2e2e147f975923fac93e1eb48399a1eb
2014-05-03 14:18:55 -07:00