Commit Graph

798 Commits

Author SHA1 Message Date
Asumu Takikawa
c6d22871bc 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.

original commit: 4e0b38ea79b8ffa84fd099d980a2713a3831d589
2012-11-30 17:37:33 -05:00
Asumu Takikawa
80f7b65db7 Apply Any wrappers for default-continuation-prompt-tag in TR
original commit: 42b07475e95542ec77b47e216e8711573e0820a1
2012-11-30 17:37:33 -05:00
Asumu Takikawa
16a162a150 Fix up old TR tests that should fail now
original commit: d6b0c71a91e186837bd4350080d8936acdc494f5
2012-11-30 17:37:33 -05:00
Asumu Takikawa
550d4fde27 Add new tests for typed control
original commit: 3ed1d56b0526fb96546a2324d216527590518452
2012-11-30 17:37:33 -05:00
Asumu Takikawa
c87dbd87a7 Forgot to add the test for commit b4dd3b5e1dcb
Relevant to PR 13209

original commit: d7163142be1b1d1d1f92bb233a1734762205e0de
2012-11-30 00:12:35 -05:00
Vincent St-Amour
c9972ae31c Add new versions of for/hash: and co that the typechecker can handle.
Based on Eric Dobson's implementation.

Closes PR13248. Closes PR13249.

original commit: 95d51fc8928145fb6f82c8c877e1efcb92432128
2012-11-20 17:45:15 -05:00
Vincent St-Amour
c797b00d02 Heterogenous -> heterogenEous.
Found by Ray Racine.

original commit: e2007abd7a06f5bd5ab7a5fd03180e9f2c20bc7f
2012-11-20 17:06:51 -05:00
Vincent St-Amour
c5600af371 Fix types of variable arity functions to work with 0-argument return values.
Closes PR13218.

original commit: d994ba19146f284809f410962e682c7293c41d63
2012-11-20 16:15:20 -05:00
Vincent St-Amour
dd27a40ad8 Only generate ->* contracts when arguments are really optional arguments.
Closes PR13274.

original commit: 6a7b971cd66b79e1aac0e0ea65bc59f667ef727e
2012-11-19 17:35:07 -05:00
Asumu Takikawa
f6106431fb Fix whitespace in test
original commit: b4a98af3197ec0828dbe83ce835453598459bd22
2012-11-10 12:03:47 -05:00
Asumu Takikawa
fb52e98a05 Fix Custodian type
original commit: d22532db163bdb06007c248628c4002280817579
2012-11-10 11:12:06 -05:00
Asumu Takikawa
cf1a2c71d0 Fix a free variance bug
Commit ffe45ecce had introduced a regression with some
polymorphic functions imported between typed modules due to
miscommunicated variance information.

original commit: daca1c0d5b6040978b1c75d4cc822c0a3a819181
2012-11-09 01:43:57 -05:00
Sam Tobin-Hochstadt
2dfa34a01c This test always errors -- belongs in fail.
original commit: c1cace28ec8072e77d70ccc40c27011c5f788295
2012-11-01 21:14:50 -04:00
Sam Tobin-Hochstadt
ab1005ae6f Fix accidental use of the wrong letrec-bound variable.
original commit: 0e71f2d5dc58bd497a686f23c0ed0781590a3dc6
2012-10-31 21:18:44 -04:00
Sam Tobin-Hochstadt
bde8ebbef0 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.

original commit: c6dc1e6ece441a7d56c2f2229dc9c0e144f8ff6f
2012-10-25 23:31:02 -07:00
Eli Barzilay
f19e523806 A whole bunch of missing newlines at EOFs (and a few other spaceages).
original commit: cbfb1fdb370244c2cadcf327332f1c643d4588c0
2012-10-19 06:47:24 -04:00
Vincent St-Amour
a1e803ad7f Add test.
original commit: 326e3ba33f18a2c651b0dc8bfff388f8486fd114
2012-10-14 16:55:36 -04:00
Neil Toronto
b3499cde19 Added working for/vector:, for*/vector:, for/flvector:, for*/flvector:
Closes PR13185.

original commit: 6f52be186b83fdb4340fa4eb772a3e6754050e71
2012-10-14 16:28:41 -04:00
Eric Dobson
3239a56aee Make expt type more correct.
Closes PR13170.

original commit: 788b0465497087f0da49c9b27d8266fa3e2b83d1
2012-10-14 15:44:54 -04:00
Vincent St-Amour
3349c30fab Generate ->* contracts for functions with both optional and keyword arguments.
original commit: 844e898a548ea3b8fcecb97b0e59f8dcf06e0949
2012-10-14 15:44:54 -04:00
Vincent St-Amour
cc1dd45568 More float conversion optimizations.
original commit: 149d8535eb2988fab0bed739d375874f172db7c8
2012-10-14 15:35:50 -04:00
Vincent St-Amour
9170637137 Only recommend dropping exactness in truly inexact contexts.
Please merge to release.

original commit: 758e4ff112bf83544fdfc833f454930cc0bc5322
2012-10-12 14:42:16 -04:00
Sam Tobin-Hochstadt
638b653967 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].

original commit: 962f2472e18356f357f026645bdcebdf3139ba29
2012-10-05 12:39:11 -04:00
Sam Tobin-Hochstadt
fca69adaf7 This pattern of typed submodules exposes Racket bugs.
original commit: 86522a180429eb8fbf0a2066961692ee6090f808
2012-10-03 12:24:16 -04:00
Sam Tobin-Hochstadt
43863acd36 Test for appropriate predicates for invariant structs.
original commit: cab90c16d5514ac4c9dff70ebcaeb3dda75e0910
2012-09-27 17:26:32 -04:00
Sam Tobin-Hochstadt
0f2cffde42 Fix error message pattern for use of cons/c.
original commit: d066a5c1d27a8c292a7c0560da08f394f9a75b88
2012-09-27 16:39:16 -04:00
Eric Dobson
6fcac4b7ae Working covariant applications.
original commit: ffe45ecce455927fe149eee64efe126b7666cd46
2012-09-27 16:22:22 -04:00
Eric Dobson
c0e045635c Fix -struct to use the right number of arguments to make-Struct.
original commit: 12233600c1355df1e9d2f29ee2469f154fc66f81
2012-09-27 16:22:21 -04:00
Eric Dobson
66ccae0e72 Make struct type contracts better
original commit: 745403a88e353c82ed850d7954254896cf1446f7
2012-09-27 16:22:21 -04:00
Eric Dobson
90ef1eac37 Fix type->contract on structures. Now uses struct/c.
original commit: 9e1cf579a434b65e484bdf937e3307bc3c9fd7aa
2012-09-27 16:22:21 -04:00
Sam Tobin-Hochstadt
6d73aa7b4d Track mutable variables across modules.
original commit: eed93825abcedc07570b4a185b88ad30f424cf0f
2012-08-31 17:45:11 -04:00
Sam Tobin-Hochstadt
d5b1f76319 Simplifying case-> to union is only safe for 1-argument functions.
Closes PR 13002.

original commit: ab5403d1ede34b3df761e82ba64f991089cadd81
2012-08-31 10:27:51 -04:00
Sam Tobin-Hochstadt
d970f11334 Remove #:transparent to work around place message limitations.
original commit: b7f9c7706944216c4eb841396df53be2f413842f
2012-08-22 16:50:50 -04:00
Sam Tobin-Hochstadt
616b1c2fb6 Add -v option to TR tests.
Also, print errors from serialization and place message sending.

original commit: e207f5c67df7d8ee1a6605d3ee62ba39787d16e0
2012-08-22 16:50:50 -04:00
Eric Dobson
cfe59c4980 Fix typechecking of polymorphic structs with parent types.
Closes PR12998.

original commit: e9f209977b5d437589265ca5e9e69c74d45b9d47
2012-08-22 16:50:49 -04:00
Sam Tobin-Hochstadt
467c46360c Use module registry trick to slightly speed up TR tests.
original commit: 26a57f64202a9e4040fe495cf5d6a2ce3d79531f
2012-08-22 11:13:07 -04:00
Sam Tobin-Hochstadt
08962bd0aa Parallelize running Typed Racket optimizer tests.
No speedup yet, though.

original commit: e705d4d450b1753a0c5fe8b34bb1a41c22e381cc
2012-08-21 17:47:30 -04:00
Sam Tobin-Hochstadt
48a9602d23 Don't use places for running single tests.
original commit: 1c275ffcc7fb79775b377340aaae3e258473a3ba
2012-08-20 14:45:50 -04:00
Eric Dobson
20da55c55d Add tests for make-predicate and cast, also add support for the top-level.
Closes PR 12939.
Closes PR 12201.

original commit: 533920480e4b9878a18febdc616429623bb58f50
2012-08-20 12:39:41 -04:00
Sam Tobin-Hochstadt
7654984ca6 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.

original commit: 9e5060ef5b7e831480e82d45eb7459d1015f1f54
2012-08-20 12:25:50 -04:00
Eric Dobson
f41741b486 Add promise support to type->contract.
Closes PR13024.

original commit: 09d32d35e06abe31075bf3fbf04f6c749f3d5603
2012-08-20 10:10:17 -04:00
Eric Dobson
dc0849e298 Replaced infer-dummy with lazy-require.
original commit: ac493a6f44773c43c215e8c5cd5dc6d8e1edcdf1
2012-08-14 16:04:51 -04:00
Sam Tobin-Hochstadt
5784f96c6b Don't special-case applications with instantiations.
Closes PR 13006.

original commit: ade36c36c6f68520deb15c7152cc1e49741213d6
2012-08-14 15:45:47 -04:00
Eric Dobson
37aeb62a14 Fix substitute and add test case.
original commit: 3b6168de7d2a0b25a40c391757bc71fdb272c347
2012-08-14 14:44:55 -04:00
Eric Dobson
f071ccf186 Make simple substitution happen all at once.
Closes pr12920.

original commit: 2e3965e7772594a19aac32d9673fb0c98e19bbdd
2012-08-14 14:44:55 -04:00
Vincent St-Amour
911ebaa0bd Fix types of magnitude and angle.
Closes PR13025.

original commit: af8fc1f26aaf87f0ece562e6fe74804b42ddfed3
2012-08-14 14:37:18 -04:00
Eric Dobson
8442c9da34 Make TR debug printer work again.
original commit: cac47c0427c8d885b402d036710593cf1d360e7f
2012-08-14 09:45:01 -04:00
Sam Tobin-Hochstadt
ad5018f0dc Fix internal require of typed submodules.
original commit: 6ae2a9d884d46350411b023d5eb54474f4a5ed81
2012-08-13 17:20:20 -04:00
Eric Dobson
da8782fb09 Make generated flat contracts actually flat.
original commit: 3876dfa8411e06b2225b614246fa0274855e915b
2012-08-10 10:39:44 -04:00
Eric Dobson
ce41c349e6 Removed *Un from abbrev.rkt, replaced it with Un from union.rkt.
original commit: 21598297a7dd29ce6e0a106d13326e84a7330b6f
2012-08-07 15:50:50 -04:00