Commit Graph

3453 Commits

Author SHA1 Message Date
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
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