Commit Graph

157 Commits

Author SHA1 Message Date
Asumu Takikawa
a42cc9a001 Add more tests for continuation marks & Any wrapping 2012-11-30 17:37:33 -05:00
Asumu Takikawa
904db66f65 Rename control types to be consistent with other types 2012-11-30 17:37:33 -05:00
Asumu Takikawa
4e0b38ea79 Improve type of call-with-continuation-prompt
Now works with the handler argument omitted, in which case
the default handler is used. Note that the default handler
cannot be used in conjunction with the default prompt tag
because it is unsound to do so.
2012-11-30 17:37:33 -05:00
Asumu Takikawa
42b07475e9 Apply Any wrappers for default-continuation-prompt-tag in TR 2012-11-30 17:37:33 -05:00
Asumu Takikawa
d6b0c71a91 Fix up old TR tests that should fail now 2012-11-30 17:37:33 -05:00
Asumu Takikawa
3ed1d56b05 Add new tests for typed control 2012-11-30 17:37:33 -05:00
Asumu Takikawa
d7163142be Forgot to add the test for commit b4dd3b5e1d
Relevant to PR 13209
2012-11-30 00:12:35 -05:00
Vincent St-Amour
95d51fc892 Add new versions of for/hash: and co that the typechecker can handle.
Based on Eric Dobson's implementation.

Closes PR13248. Closes PR13249.
2012-11-20 17:45:15 -05:00
Vincent St-Amour
e2007abd7a Heterogenous -> heterogenEous.
Found by Ray Racine.
2012-11-20 17:06:51 -05:00
Vincent St-Amour
d994ba1914 Fix types of variable arity functions to work with 0-argument return values.
Closes PR13218.
2012-11-20 16:15:20 -05:00
Vincent St-Amour
6a7b971cd6 Only generate ->* contracts when arguments are really optional arguments.
Closes PR13274.
2012-11-19 17:35:07 -05:00
Asumu Takikawa
b4a98af319 Fix whitespace in test 2012-11-10 12:03:47 -05:00
Asumu Takikawa
d22532db16 Fix Custodian type 2012-11-10 11:12:06 -05:00
Asumu Takikawa
daca1c0d5b Fix a free variance bug
Commit ffe45ecce had introduced a regression with some
polymorphic functions imported between typed modules due to
miscommunicated variance information.
2012-11-09 01:43:57 -05:00
Sam Tobin-Hochstadt
c1cace28ec This test always errors -- belongs in fail. 2012-11-01 21:14:50 -04:00
Sam Tobin-Hochstadt
0e71f2d5dc Fix accidental use of the wrong letrec-bound variable. 2012-10-31 21:18:44 -04:00
Sam Tobin-Hochstadt
c6dc1e6ece Improve contract generation in Typed Racket.
This fixes several issues:
 - `Parameter` generates impersonator contracts correctly
 - `Any` handling now copies immutable data when possible
 - `Any` now recognizes more atomic base types

Merge to 5.3.1.
2012-10-25 23:31:02 -07:00
Eli Barzilay
cbfb1fdb37 A whole bunch of missing newlines at EOFs (and a few other spaceages). 2012-10-19 06:47:24 -04:00
Vincent St-Amour
326e3ba33f Add test. 2012-10-14 16:55:36 -04:00
Neil Toronto
6f52be186b Added working for/vector:, for*/vector:, for/flvector:, for*/flvector:
Closes PR13185.
2012-10-14 16:28:41 -04:00
Eric Dobson
788b046549 Make expt type more correct.
Closes PR13170.
2012-10-14 15:44:54 -04:00
Vincent St-Amour
844e898a54 Generate ->* contracts for functions with both optional and keyword arguments. 2012-10-14 15:44:54 -04:00
Vincent St-Amour
149d8535eb More float conversion optimizations. 2012-10-14 15:35:50 -04:00
Vincent St-Amour
758e4ff112 Only recommend dropping exactness in truly inexact contexts.
Please merge to release.
2012-10-12 14:42:16 -04:00
Sam Tobin-Hochstadt
962f2472e1 Revamp handling of Any as a contract.
The contract now has two major differences:
 - It raises an error when it would have to wrap.
 - It uses chaperones to delay errors as long as possible

In general, using `Any` as a type when exporting to untyped
code will now just work, unless the untyped code tries to
communicate values back to the typed side, in which case an
immediate error will be raised.

Much of the implementation comes from the membrane design
from [Strickland et al, OOPSLA 2012].
2012-10-05 12:39:11 -04:00
Sam Tobin-Hochstadt
86522a1804 This pattern of typed submodules exposes Racket bugs. 2012-10-03 12:24:16 -04:00
Sam Tobin-Hochstadt
cab90c16d5 Test for appropriate predicates for invariant structs. 2012-09-27 17:26:32 -04:00
Sam Tobin-Hochstadt
d066a5c1d2 Fix error message pattern for use of cons/c. 2012-09-27 16:39:16 -04:00
Eric Dobson
ffe45ecce4 Working covariant applications. 2012-09-27 16:22:22 -04:00
Eric Dobson
12233600c1 Fix -struct to use the right number of arguments to make-Struct. 2012-09-27 16:22:21 -04:00
Eric Dobson
745403a88e Make struct type contracts better 2012-09-27 16:22:21 -04:00
Eric Dobson
9e1cf579a4 Fix type->contract on structures. Now uses struct/c. 2012-09-27 16:22:21 -04:00
Sam Tobin-Hochstadt
eed93825ab Track mutable variables across modules. 2012-08-31 17:45:11 -04:00
Sam Tobin-Hochstadt
ab5403d1ed Simplifying case-> to union is only safe for 1-argument functions.
Closes PR 13002.
2012-08-31 10:27:51 -04:00
Sam Tobin-Hochstadt
b7f9c77069 Remove #:transparent to work around place message limitations. 2012-08-22 16:50:50 -04:00
Sam Tobin-Hochstadt
e207f5c67d Add -v option to TR tests.
Also, print errors from serialization and place message sending.
2012-08-22 16:50:50 -04:00
Eric Dobson
e9f209977b Fix typechecking of polymorphic structs with parent types.
Closes PR12998.
2012-08-22 16:50:49 -04:00
Sam Tobin-Hochstadt
26a57f6420 Use module registry trick to slightly speed up TR tests. 2012-08-22 11:13:07 -04:00
Sam Tobin-Hochstadt
e705d4d450 Parallelize running Typed Racket optimizer tests.
No speedup yet, though.
2012-08-21 17:47:30 -04:00
Sam Tobin-Hochstadt
1c275ffcc7 Don't use places for running single tests. 2012-08-20 14:45:50 -04:00
Eric Dobson
533920480e Add tests for make-predicate and cast, also add support for the top-level.
Closes PR 12939.
Closes PR 12201.
2012-08-20 12:39:41 -04:00
Sam Tobin-Hochstadt
9e5060ef5b Make Typed Racket integration tests run in parallel.
Parallel speedup of approximately 4x when using 8 workers on a 12-core machine.

Closes PR 12911.
2012-08-20 12:25:50 -04:00
Eric Dobson
09d32d35e0 Add promise support to type->contract.
Closes PR13024.
2012-08-20 10:10:17 -04:00
Eric Dobson
ac493a6f44 Replaced infer-dummy with lazy-require. 2012-08-14 16:04:51 -04:00
Sam Tobin-Hochstadt
ade36c36c6 Don't special-case applications with instantiations.
Closes PR 13006.
2012-08-14 15:45:47 -04:00
Eric Dobson
3b6168de7d Fix substitute and add test case. 2012-08-14 14:44:55 -04:00
Eric Dobson
2e3965e777 Make simple substitution happen all at once.
Closes pr12920.
2012-08-14 14:44:55 -04:00
Vincent St-Amour
af8fc1f26a Fix types of magnitude and angle.
Closes PR13025.
2012-08-14 14:37:18 -04:00
Eric Dobson
cac47c0427 Make TR debug printer work again. 2012-08-14 09:45:01 -04:00
Sam Tobin-Hochstadt
6ae2a9d884 Fix internal require of typed submodules. 2012-08-13 17:20:20 -04:00