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
Eric Dobson
e0a792bd78
Make apply work with more initial args than in the type.
...
original commit: 33a31d28681d3e382f0395e1fb77f0ccdd6db027
2014-04-30 23:38:54 -07:00
Eric Dobson
34575cbb0f
Allow apply to work on lists with minimum length.
...
original commit: 3e3e79cf1f1fa46f085da41c3f20d7286dc65940
2014-04-30 23:38:54 -07:00
Eric Dobson
b0da322f03
Replace uses of untuple with List:.
...
original commit: 347b15661a5ed3fb478257618e397c4722e03744
2014-04-30 23:38:54 -07:00
Eric Dobson
3219e6ca6b
Cleanup PolyDotted case of apply.
...
original commit: e6b2268f2ce2d75d06ec8e26ade6b3d4b49667f7
2014-04-30 23:38:54 -07:00
Asumu Takikawa
63e2fa1bda
Improve TR's overlap checking for StructTop types
...
Closes PR 14458
original commit: eb006a0e9ec78d0d0657fbf8587ba8b5106419aa
2014-04-30 15:03:17 -04:00
Eric Dobson
fe6cdbc35b
Make tc-results: and Results: not use ... over patterns.
...
This avoids a case where match is silently wrong.
original commit: 2f032184ca98d02cdf330ac8d3f5095d37c09252
2014-04-30 09:48:39 -07:00
Eric Dobson
22eb5e27b8
Allow more inference on ... lists.
...
original commit: 78fbdfec0be3d8173856737f46db6809d75e76ed
2014-04-29 22:27:39 -07:00
Asumu Takikawa
ef5b55b293
Refactor TR's no-check-helper module
...
original commit: f60908c7aa2eebc65a539f215d2a174e1833367c
2014-04-29 22:47:03 -04:00
Asumu Takikawa
bab7477b80
Fix require/typed in no-check mode for structs
...
The constructor name was handled incorrectly for TR's current
defaults. Also support the extra keyword arguments.
original commit: 6e8ad865240aa9a92b6dd6fef91f42dcb117e4b2
2014-04-29 22:35:17 -04:00
Asumu Takikawa
36a34fd3ea
Update require/typed in no-check mode for keywords
...
Closes PR 14463
original commit: 2a32c588157263489c4928fa90c50409dbb3b87b
2014-04-29 21:28:08 -04:00
Asumu Takikawa
23b147607f
Remove code that handles #<undefined> in TR
...
TR no longer needs to handle #<undefined> because the value
no longer leaks out from uninitialized variables. However, uses
of uninitialized variables are not caught by TR (they are treated
like errors from the `error` function).
original commit: 715d596e47b7c5cbd7b17ff36ceea73678c7071f
2014-04-28 14:14:00 -04:00
Eric Dobson
f49ef7b662
Add tests for new letrec semantics.
...
Closes existing bugs because the old broken semantics is now right
because of undefined changes.
Closer PR 13303.
Closer PR 13333.
original commit: 8372ee9f6d5a08e6fe89ca681ea63be5ed34496e
2014-04-27 12:51:03 -07:00
Eric Dobson
69f5da8531
Add a test suite for infer.
...
original commit: d38737836e483b78cc6697a474f9fcb26573d092
2014-04-26 09:48:11 -07:00
Eric Dobson
fcb558d2b1
Fix apply with (Listof A) args.
...
Closes PR 14465.
original commit: b42e0d8d68f19c4cc80bb23f1cb1a383edeba322
2014-04-25 21:34:27 -07:00
Vincent St-Amour
de03b2dee5
Revert edit to expected result.
...
original commit: 6341cb3026ca5671dd228d9c110f378b8166c3b5
2014-04-25 16:57:06 -04:00
Vincent St-Amour
9688d1a083
Keep dead case-lambda clauses around to avoid changing arity.
...
Closes PR14468.
original commit: ce3033a0c7e0c3f0eede89ddd18862161d89e18b
2014-04-25 13:44:56 -04:00
Vincent St-Amour
5af4daf7d9
Avoid precision problems in TR tests.
...
original commit: d30546cb7ddd80e6fd2eeaa0ab3da7ebfb2f35be
2014-04-24 10:48:26 -04:00
Vincent St-Amour
b00549fc38
Add missing forms to TR docs.
...
original commit: 842137fc295e98663d1d5ec8f1f5ea188ca014b8
2014-04-24 10:48:26 -04:00
Eric Dobson
9bf4fa62e0
Fix inference for dotted and starred arr types.
...
original commit: 7a435b154ca517b1fcae2ddd3f4387e8f2f82ef0
2014-04-23 23:57:11 -07:00