Commit Graph

3914 Commits

Author SHA1 Message Date
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
Eric Dobson
d31ffab99d Remove check for type-ascription property.
original commit: b57d84dd903b53948ebf3e21fbbe781c10c45501
2014-05-03 14:18:54 -07:00
Eric Dobson
3c49b8e946 Move from type-ascription-property to add-ann.
original commit: 7a7809cdfdcd3d3c41bb043b45066bced66bcaaa
2014-05-03 14:18:54 -07:00
Eric Dobson
04e029797e Make standalone annotation use #f instead of #'#f.
original commit: 4ac26e919a1a6b78d2a0d2ca518909a756bcc831
2014-05-03 14:18:54 -07:00
Sam Tobin-Hochstadt
1a3cdd3594 Typed Racket history for 6.0.1.
Please include in release.

original commit: 31ccd1ba7c98a363fdd4c229a4f652c5d1e12628
2014-05-03 13:38:49 -04:00
Eric Dobson
51a65c6abd Make inst mark the #%expression.
original commit: ee64a152654734b5b91d7822f832bf8e1601aa89
2014-05-02 09:39:18 -07:00
Vincent St-Amour
e3d1f8f0f9 Fix expected source location for improved location preservation.
original commit: 80d1631af8644f8669812cbea0136f73c4e2ce59
2014-05-01 18:04:35 -04:00
Asumu Takikawa
2497d67c6a Add an explanation of the test case for PR 14389
original commit: 947343c63fed6a244013c6b7ac211e6b38d8a8cf
2014-05-01 16:24:42 -04:00
Asumu Takikawa
e9d689cdb9 Don't track syntax with unknown source locations
Avoids recording original syntaxes with a source or position
of #f, since these are usually intermediate syntax pairs that
don't correspond to actual source syntax.

For example, in a (#%module-begin . rst) in a submodule, the
underlying pair may contain an identifier and a cdr that is a
syntax object. That cdr will have #f source and position and also
does not correspond to any source syntax.

Leaving such syntax objects in the table means there are spurious
hits later when a syntax object with an unknown source location
is looked up.

Closes PR 14389

original commit: 06bd5d36af88a99d2f76b65c073da21d63b5ee1f
2014-05-01 16:02:21 -04:00
Vincent St-Amour
2b7423a5e0 Instrument TR casts / asserts for feature-specific profiling.
original commit: 5502bf5b1ba8782badb8ef8a58d3e8ec947418ad
2014-05-01 11:54:09 -04:00
Eric Dobson
f122d7dc54 Make inst not do crazy splitting.
original commit: 4766a944705315f56a27b52f6bffe4abc1475a69
2014-05-01 00:00:50 -07:00
Eric Dobson
9b7f36f7cb Remove extraneous old feature of do-inst.
original commit: a6789164d86118643598ebb3b02500ba4dc6fc87
2014-05-01 00:00:50 -07:00
Eric Dobson
09ecd240d1 Remove #%expression in plambda.
original commit: 379e827070cbfe72c8d099c246e590fb42140257
2014-05-01 00:00:50 -07:00
Eric Dobson
0fa0d624cf Replace 'apply -lst*' with -Tuple*
original commit: 9d1201a5e26e6d22816a607811737b8c0b5f822f
2014-04-30 23:38:55 -07:00
Eric Dobson
163f6c627f Add quotes to error messages from tc-apply.
original commit: 209be3b9ac76ab3d611b5800aae0bd1c77426abf
2014-04-30 23:38:55 -07:00
Eric Dobson
8066e77839 Merge checks for empty case-lambdas in apply.
original commit: de1c9a1162ffd11f4b61229e9a88f367d3cd54f6
2014-04-30 23:38:55 -07:00
Eric Dobson
5e3baa82c9 Cleanup non poly case in apply.
original commit: c91a91212955641e8b7fba1feac6b22b5bd65fab
2014-04-30 23:38:54 -07:00
Eric Dobson
f7380b0a09 Cleanup Poly cases in tc-apply
original commit: ab2877ed7f09dd8e3b2142ea8a1bcc9aa7d3beaa
2014-04-30 23:38:54 -07:00