Vincent St-Amour
7e20c6dae8
Be less aggressive about fixnum recommendations.
...
Reduces false positives.
original commit: ca47b1c693b9fd48255b5e4872e20a8e7aca955b
2012-12-04 19:29:15 -05:00
Vincent St-Amour
849c6aca05
Fix source location information for do:' and
let:'.
...
original commit: d544e9fbe72b205ca5b5c6efa4772067833d5b30
2012-12-04 19:29:15 -05:00
Asumu Takikawa
7917ff2033
Support path/object reasoning for promises
...
original commit: 5802b42f66706b6d7396aa1855f3d1d0b5f2ca17
2012-12-04 18:03:11 -05:00
Asumu Takikawa
3ff53eb009
Provide a more informative internal error
...
original commit: 04e8e33313842d94d0cbff458ad23047ee1441fc
2012-12-04 16:10:39 -05:00
Asumu Takikawa
a0c32ff288
Fix call/comp's type
...
original commit: 3f2d4663a87939a02223b6620407e25b0507aa4a
2012-12-04 16:10:39 -05:00
Vincent St-Amour
50713b7368
Randomly test the TR optimizer.
...
Compares results of a Racket and a TR sandbox.
original commit: ee0a1d4b89b2dbab9382d37fc4b0139a4ff9b53d
2012-12-03 21:54:01 -05:00
Vincent St-Amour
1501c1db01
Fix optimization of unary float subtraction.
...
Closes PR13339.
original commit: 9f9092b762cb4394e04901694301a1d0750f95d7
2012-12-03 19:46:29 -05:00
Ryan Culpepper
eb40161575
move lazy-require to racket/lazy-require
...
original commit: fd7d8a412cd9d6c4cb8b4c2e43dabd65890267b8
2012-12-03 19:28:12 -05:00
Asumu Takikawa
233e8964eb
Support Any wrapping for promises
...
Closes PR 13326
original commit: 0252207e38aaa679ff78df8bba86f69c70d6912b
2012-12-03 17:59:55 -05:00
Asumu Takikawa
aab9400fbd
Fix default prompt tag type
...
Note: this type could be made more precise,
but we need some contract changes for that.
original commit: 213ff3655409b7ad526154f3733de054f34d290c
2012-12-03 14:37:18 -05:00
Asumu Takikawa
24842684da
Document the default prompt tag in TR
...
Note: this isn't the ideal location for this in the long
run because it isn't a special form. When we have more
bindings like this, we should move them to a new manual
section.
original commit: ffde8ec486abec4741e4d0299f841dcbfe65a3f2
2012-12-03 14:37:17 -05:00
Asumu Takikawa
d5a89d5cff
Fix blame parties for proxied default prompt tag
...
original commit: 55944057b5bdf02b9fd48a964739dfcd4ee516d8
2012-12-03 14:37:17 -05:00
Asumu Takikawa
6ba4798b06
Revert "Ignore contracted proxies from racket
"
...
This reverts commit 702676030b8d4c956d063b3ce4e3bf0d3dc2c594.
(this should actually be documented)
original commit: 25ed52f9d6f407b5ab32ecf5dca70d853d679744
2012-12-03 14:37:17 -05:00
Asumu Takikawa
de8434f9fa
Ignore contracted proxies from racket
...
original commit: 702676030b8d4c956d063b3ce4e3bf0d3dc2c594
2012-11-30 23:45:23 -05:00
Asumu Takikawa
14187b4cdd
Refactor (make argument arity clear)
...
original commit: 42fc3aeda01b987e1a60e14fe760444fc31732a4
2012-11-30 17:37:33 -05:00
Asumu Takikawa
0f0966b8f9
Add a type for continuation?
...
original commit: d9f8c5e382d941150369ccb0a0d09b9e8ce27cb5
2012-11-30 17:37:33 -05:00
Asumu Takikawa
711e418eec
Univ -> ManyUniv
...
original commit: 5fe8841c9951bce9453dae77ca3e4768d6a59c3e
2012-11-30 17:37:33 -05:00
Asumu Takikawa
fec01c3f97
Add more tests for continuation marks & Any wrapping
...
original commit: a42cc9a0012cb7490da13228d21b2182fb1af9d3
2012-11-30 17:37:33 -05:00
Asumu Takikawa
bca928688a
Rename control types to be consistent with other types
...
original commit: 904db66f6557a868ea616421253b8f0cc5e6bd27
2012-11-30 17:37:33 -05:00
Asumu Takikawa
37cbd6d5a9
Docs for prompt tag & mark key types
...
original commit: aae8890cd3939bf6dd6d0bddc640a2e03dcd1c3f
2012-11-30 17:37:33 -05:00
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
0c112d8da2
Refactor and move a macro to a helper library
...
original commit: 2511cf02bc67130abe360d39b59e40da3e4a741b
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
a613159c6b
Add the rest of the continuation functions
...
original commit: 0accfe24e2d3f351d026d6a3138951e4cad7fdb7
2012-11-30 17:37:32 -05:00
Asumu Takikawa
06f43b2f41
Add Top types for prompt tags and mark keys
...
original commit: 41b59cb46a4b6f6d30cd57f0586fe73f79ef7584
2012-11-30 17:37:32 -05:00
Asumu Takikawa
6f376407d9
Typecheck prompt tags
...
original commit: 4b5d6e71fdfe68dea748b296c4427209d54a920f
2012-11-30 17:37:32 -05:00
Asumu Takikawa
5069b7b9b9
Fix continuation-mark-set-first type
...
original commit: e123e85a9068941d52dff902c4e4f1c0692ebf2c
2012-11-30 17:37:32 -05:00
Asumu Takikawa
72b7c5962e
Contract generation for continuation mark keys
...
original commit: 5fbeffaec6094e8599175fde71ddc4194c2f5f1d
2012-11-30 17:37:32 -05:00
Sam Tobin-Hochstadt
373a7e8b0e
Starting on control typing.
...
original commit: 29d54fb0d0650c62abf05729674d138c53ffefd8
2012-11-30 17:37:32 -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
Neil Toronto
7969c012a3
Stubbed out missing math/array' and
math/statistics' doc entries to
...
clean up build
Moved `float-complex?' and `number->float-complex' to `math/base',
documented them
Documented `flexpt1p'
Removed `samples->immutable-hash' (not covariant anyway; not going to
use hashes)
original commit: 6f1ffecc2374f2874c1942fe0558420b74cbe223
2012-11-27 18:05:38 -07:00
Asumu Takikawa
678972a806
Fail gracefully on TR struct arity errors
...
Closes PR 13209
original commit: b4dd3b5e1dcbec41512c02f947253233f8c53370
2012-11-20 17:47:13 -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
Neil Toronto
690f54e633
Added `define-typed/untyped-identifier' to typed/untyped-utils
...
Made return types of `flvector-length' and `unsafe-flvector-length' more precise (they return Index)
original commit: ac424a73a5f3fa81d34f11585ff80b63b5cdebb6
2012-11-16 10:52:56 -07:00
Sam Tobin-Hochstadt
728e347f29
Use error-display-handler
instead of threads for multiple error reporting.
...
Closes PR 13240 (in reality, avoids the bug, but ryanc says that it's too
hard to fix).
original commit: 30e26f00cdcf9a08f076b03bceb0a9b9255151fa
2012-11-15 12:33:25 -08: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
3892d0101e
Correctly bind place?
for contract generation.
...
original commit: 0a0ac35ee6a427d3ca8341eb04a844a4ae7b8514
2012-11-07 12:21:09 -05:00
Sam Tobin-Hochstadt
dcb7dbac6d
Chars are compared with eqv?
.
...
original commit: 056c1aaff44918a4e2439aa84c6b931e1afd4473
2012-11-07 12:21:09 -05:00
Eli Barzilay
3e4bbc8394
Newlines at EOFs.
...
original commit: 14d8c8b5a5b665d03c14748e5416ec2f1753d4fb
2012-11-06 14:07:15 -05:00
Eli Barzilay
3fdc7889cb
Some "obvious" switching from racket' to
racket/base'.
...
original commit: 1c8001d174db69c57bfb0ee42e0ce75c2371e72e
2012-11-06 13:29:09 -05:00
Sam Tobin-Hochstadt
2dfa34a01c
This test always errors -- belongs in fail.
...
original commit: c1cace28ec8072e77d70ccc40c27011c5f788295
2012-11-01 21:14:50 -04:00
Danny Yoo
dd38ff4d8c
adding close-eval at the end of scribble files that have a toplevel evaluator
...
original commit: dcf4d8b040f1acdc535d1542e0d7b1bb1112d987
2012-11-01 15:32:53 -06:00
Tony Garnock-Jones
4229c80060
Correct TR types for udp-bind! and udp-connect!.
...
original commit: a57e158c43b25fac9803cb1af399e53b97144df0
2012-10-31 21:42:57 -04:00
Sam Tobin-Hochstadt
1240dcfc3e
Fix binding of udp?
.
...
original commit: f2fd47905f4fe981dea4bda03fd08bd930dc63a1
2012-10-31 21:39:16 -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
fa259393da
Make Typed Racket name printing more deterministic.
...
original commit: 5861bf0b9fc5ff3b237619d02dc6d5eb4a55837e
2012-10-28 13:55:02 -04:00
Sam Tobin-Hochstadt
4d00c00072
Add more specific class types instead of Any
.
...
Fixes Insert Large Letters dialog. Merge to 5.3.1.
original commit: 4124c9a41b26092aa0dd7a33916fd8e080aa626f
2012-10-27 17:44:52 -07:00
Sam Tobin-Hochstadt
b299fdb71c
Formatting.
...
original commit: 7573fd7ee0f61b45dcff96d85e0cc6aab1982e6f
2012-10-27 17:44:51 -07:00
Sam Tobin-Hochstadt
45bc44e686
Flvectors and Fxvectors are higher-order if we give them restricted float types.
...
original commit: fa5846cb0c32b11e15cbfb0ca6e1fa2aadbd876e
2012-10-26 11:09:03 -07: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
e2fae17d73
Don't provide for/vector: helpers.
...
original commit: fd6e2bd6c5f2867a2ba1f845b3e30ea5bf1e4a90
2012-10-15 12:03:53 -04:00
Vincent St-Amour
83b5e50288
Fix type of raise-range-error.
...
original commit: 5bc108c7b108d1a9856a193f11be259fb69ad035
2012-10-14 17:19:35 -04:00
Vincent St-Amour
a1e803ad7f
Add test.
...
original commit: 326e3ba33f18a2c651b0dc8bfff388f8486fd114
2012-10-14 16:55:36 -04:00
Neil Toronto
2d549d13b1
Added typed/untyped-utils (just require/untyped-contract for now)
...
original commit: cdcf8f64327565e4665924b419468fbb9124129c
2012-10-14 16:53:33 -04:00
Vincent St-Amour
905416ec80
Document plet:.
...
original commit: aeddd7c18cebdcb12046a6491c7616cb0e4c75f4
2012-10-14 16:28:42 -04:00
Neil Toronto
66d5992c04
Added plet:
...
original commit: 9c11324cec1c6a5f3daeea6d51650747ea53a5b5
2012-10-14 16:28:42 -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
Vincent St-Amour
9b65e0df92
More types for raise-* functions.
...
original commit: 3a8f4c24d909ea47ee1e71b79c824d8f7c12548c
2012-10-14 15:44:55 -04:00
Eric Dobson
e3905c3500
Add type for raise-argument-error in TR.
...
Closes PR13132.
original commit: d31005b380ceffce53315b91eeeff8655dd85e93
2012-10-14 15:44:55 -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
Asumu Takikawa
22cc8bc458
Move define/match
to racket/match
...
original commit: df594d3b3bd6924b80942323803385964e9a708b
2012-10-14 14:39:36 -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
Vincent St-Amour
0cf2fc6810
Recommend float-specific operations in case of unexpected complex.
...
Please merge to release.
original commit: 7d317f1e96e77ca9ce85136608b49d420ad39630
2012-10-09 16:58:04 -04:00
Sam Tobin-Hochstadt
fa5f278293
Add Frame%
and message-box
types.
...
original commit: 385246f4db7f0bbf4ecfcdc5ee8a0f7ccbfdd4a1
2012-10-09 12:07:28 -04:00
Sam Tobin-Hochstadt
cd081cf9c4
Handle contract generation for recursive class types.
...
original commit: 6945c5bfb1a807e1e2d4b6cdf50db83b0623ad1d
2012-10-09 12:07:28 -04:00
Sam Tobin-Hochstadt
cf1ae8f3b1
Allow #:opaque
and #:struct
in require/typed
.
...
original commit: 9054d0db7dee7d523b6a56a1cb68d703c3426f6f
2012-10-08 16:30:43 -04:00
Sam Tobin-Hochstadt
e119930d92
Add type for in-directory
.
...
original commit: 724aee01888fce4fe00094d74604d36d48ade923
2012-10-07 17:45:09 -04:00
Sam Tobin-Hochstadt
ba5fa2d361
Allow invoking thunks on the untyped side of an Any
.
...
original commit: 6fde63007eb0f560b1f86b4c2361d509e4240f41
2012-10-05 17:09:07 -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
cbca0b172f
Simplify fast path for typechecking simple function applications.
...
Also, minorly revise subtyping code.
original commit: b3c640870e43ead323d1ef213e39e22a515a3a6b
2012-10-05 12:12:39 -04:00
Sam Tobin-Hochstadt
280df08a4d
Fix contract-min/max base case.
...
original commit: 8bb697108e7ef3b77ecb5c6584b207fb86a6bbac
2012-10-04 16:13:21 -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
Vincent St-Amour
fa90cdc1a6
Remove out of date comment.
...
original commit: 6ba0c1416e535ae13192a1ca8dff69f90a635a8f
2012-10-02 10:18:48 -04:00
Sam Tobin-Hochstadt
7ac3b4632e
Don't provide internal identifier.
...
original commit: d84631bc6f813e38e0c9fe05f681cba5027e2584
2012-09-27 18:29:43 -04:00
Eric Dobson
bc2abb42c8
Replace uses of Type? in contracts with Type/c.
...
original commit: 8a8dc66a191342ec5de1a4dc6bec3f61d3f0f54f
2012-09-27 18:10:38 -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
bb2afd9169
Fix define-typed-struct/exec
to pass struct-info.
...
original commit: ee4ba2e3dd18d875a7e7fb6a3a00d9fe9b222ea2
2012-09-27 17:08:49 -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
Sam Tobin-Hochstadt
b0c5952bd1
Ensure that identifiers defined by struct
are registered as being defined in the correct module.
...
original commit: c07852eaf134a73cd8a147566583e75e5655c799
2012-09-27 16:22:22 -04:00
Eric Dobson
bfcd273225
Made free-variance have less special cases.
...
original commit: cf4d43c04f031dd1f0ac9811e19755707d1d9c42
2012-09-27 16:22:22 -04:00
Eric Dobson
6fcac4b7ae
Working covariant applications.
...
original commit: ffe45ecce455927fe149eee64efe126b7666cd46
2012-09-27 16:22:22 -04:00
Eric Dobson
d609666e8a
WIP on fixing free-variance.
...
original commit: 40809e768d0949453f059c94e69179378f01e8ba
2012-09-27 16:22:22 -04:00
Eric Dobson
319490772b
Split adding the struct type and the bindings.
...
original commit: e3743b446cfcf842ec5060af83078343f90afa25
2012-09-27 16:22:22 -04:00
Eric Dobson
61cc8f6121
Cleanup define-struct parsing.
...
original commit: 40236a3b267c8d9e8d44ffad752c4e6e618797e2
2012-09-27 16:22:22 -04:00
Eric Dobson
59160ba440
More cleanup of struct type registration.
...
original commit: 8ea7502c12f5752ca50878a70920ec5a5dc287cb
2012-09-27 16:22:21 -04:00
Eric Dobson
c73df4ed19
More struct work
...
original commit: d84391b6956f0eef2253d393dc9d05cf7efa5db4
2012-09-27 16:22:21 -04:00
Eric Dobson
11df3e8261
Removed cert value.
...
original commit: 626f807f00760cd32c446f66c3cc73fc485f676c
2012-09-27 16:22:21 -04:00
Eric Dobson
4165cdd780
Cleanup of tc-struct and tc-toplevel.
...
original commit: 8226b6764cf202c9c1b289416fe818f80dc7a157
2012-09-27 16:22:21 -04:00
Eric Dobson
87fa803776
Removed unused constructor-return argument.
...
original commit: d54a573494af95b807b87221f80f54f24b2033ca
2012-09-27 16:22:21 -04:00
Eric Dobson
a2b6807a8b
Make tc-struct no longer have long lines.
...
original commit: 54401182bbe3edfb5ef8675937578438a9cd58e7
2012-09-27 16:22:21 -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
ecf4869b3e
Clean up contracts in TR.
...
original commit: 6fe850ce39e01ce7122f7325e020cf24133a9a45
2012-09-27 16:22:21 -04:00
Eric Dobson
f1ce0b63dd
Removed unused fields in Struct
...
original commit: 2a8512ed72c1ac029ee4c315f1963b3ebfc5fa6d
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
Asumu Takikawa
a27bab8502
unstable/match: add define/match
...
Match-based function definition form that supports optional,
keyword, rest-arg, and curried arguments.
original commit: 1a0a06db6262e2eb54d729389e7233927a3f3d23
2012-09-17 19:46:46 -04:00
Ryan Culpepper
88a903a791
fix bad attr reference (datum attr doesn't exist)
...
That macro doesn't seem to be used anywhere. Perhaps it can just
be deleted.
original commit: 29a9abf39454a683b0092efafdf2afb95ef0c4b5
2012-09-17 12:29:17 -04:00
Vincent St-Amour
1bdf607438
Remove TR optimizer log key, made redundant by named loggers.
...
original commit: 1975014c550011f3937ed7bb3ce511c1a5a823a9
2012-09-11 13:48:14 -04:00
Vincent St-Amour
d908745a11
Fix TR tests for new logging system.
...
original commit: ab328ea80bd460d6aeb94f3adf958e2d1c041d9c
2012-09-11 13:48:14 -04:00
Vincent St-Amour
d234a65876
Fix OC for new logging system.
...
original commit: 39100bd3e3a085b8911b9e3018c78e62dbe6d82b
2012-09-11 13:48:14 -04:00
Vincent St-Amour
2cff6508c9
Fix unstable/logging to work with the new logging system.
...
original commit: 5a24b57a9516fb781363dc8d7f4b59c16ae238b9
2012-09-11 13:48:14 -04:00
Vincent St-Amour
062d973d04
Integers include inexact single-float integers.
...
Closes PR13103.
original commit: adceb4322acbb31cfed9fdb2ab2825db46074f21
2012-09-09 15:46:29 -04:00
Vincent St-Amour
dc38b069d9
Fix types of comparisons between zero and non-negative integer types.
...
original commit: 729d154deb203490c68b4cd2cff95547f5509db9
2012-09-08 18:51:38 -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
Matthew Flatt
10d9de8b62
port position-tracking clean-ups
...
Add `file-position*', which can return #f instead of raising
an exception when a port's position is unknown. Change
`make-input-port' and `make-output-port' to accept more
kinds of values as the initial position.
These changes make it possible to synchronize a port's
position with a `port-commit-peeked' action. It's ugly,
which I think reflect something broken about position
tracking in the port protocol (which seems difficult to fix
without breaking compaibility).
original commit: b61f3f751c5dfe72869fd449ba3ff42f520d0927
2012-08-28 16:04:41 -06:00
Sam Tobin-Hochstadt
c9a754132a
Refactoring of new tc-app
.
...
original commit: 514c1c5921a83297a8f305678d95d7f2357a7180
2012-08-27 14:46:30 -04:00
Eric Dobson
933db45b14
Fix errors in tc/app-hetero, cleanup tc/app.
...
original commit: 1e15d4496e3cefc6853d1a843a13b8f11bc55fd5
2012-08-27 14:43:45 -04:00
Eric Dobson
696b463b46
Cleaned up special cases by adding macros to reduce duplication.
...
original commit: 5c7ed4a21d1c77866891b2c69fb8c152e5872fca
2012-08-27 14:43:45 -04:00
Eric Dobson
5754267aa0
Moved the rest of special cases to reified syntax classes.
...
original commit: ba7647d7e22a0c926755e6748b49a490e2a1fc4d
2012-08-27 14:43:45 -04:00
Eric Dobson
cf3cdb4d9d
Rough draft of syntax classes for tc-app.
...
original commit: dda1d6021157cfb07cefdb9aac6093d8bbbae0b7
2012-08-27 14:43:45 -04:00
Eric Dobson
274b4a3845
Add back template require.
...
original commit: 020d053e0ae00d04bf00affb4e1b97a70a39749f
2012-08-27 14:43:45 -04:00
Eric Dobson
642932cd95
Removed dependencies from tc-app-hetero.
...
original commit: 6c2be057493f8b0a18df74ee4cff22381b58eae8
2012-08-27 14:43:44 -04:00
Eric Dobson
dddd5e23cd
Remove unneeded requires
...
original commit: d8c9a581f2a25c68c8ae85a216fcf676dd8661ae
2012-08-27 14:43:44 -04:00
Eric Dobson
09e0c07537
Cleanup of tc-app refactor.
...
original commit: 7005f12f0dbb744442118d539c807c7bc2f4b003
2012-08-27 14:43:44 -04:00
Eric Dobson
543b1e3069
Moved last special cases out of tc-app.rkt.
...
original commit: 54d49d0ec163a149948d2c8337f6de66d1ec3be2
2012-08-27 14:43:44 -04:00
Eric Dobson
5871c0c182
Moved lambda special cases out of tc-app.rkt.
...
original commit: 67c7e3537b69fbccf1e30c1fcecca86f9d9ac5eb
2012-08-27 14:43:44 -04:00
Eric Dobson
30239cf42f
Moved eq? et al. special casing out of tc-app.rkt.
...
original commit: 51671fcec41828b6dc26427303c7dd8c76e07139
2012-08-27 14:43:44 -04:00
Eric Dobson
c41a752d1f
Moved object special cases out of tc-app.rkt.
...
original commit: 73bd7da049a2831d6fffac9a81c3d89d43c58975
2012-08-27 14:43:44 -04:00
Eric Dobson
78a124bfff
Moved keyword special cases out of tc-app.rkt.
...
original commit: c2ab21c5a56bb157a8129fd94b7c599600d53083
2012-08-27 14:43:44 -04:00
Eric Dobson
bd178b777a
Split out special cases for apply and values from tc-app.rkt.
...
original commit: 603442347247c55f59f95af94bc2b05d0875d827
2012-08-27 14:43:44 -04:00
Eric Dobson
536b374ec2
Move TR list special cases to tc-app-list.rkt.
...
original commit: fcb06ac43303a58a09a8ac6ce5bf9ae9d40e08d1
2012-08-27 14:43:44 -04:00
Sam Tobin-Hochstadt
2ec87e9e94
Move Ephemeronof
documentation.
...
Closes PR 12952.
original commit: 0233c5a14f5d20beb30e544bca384f61af18eeb0
2012-08-23 14:04:37 -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
33459cf564
Add some examples for cast
.
...
original commit: 71e81f9fffa682f93b82dc76c51b92606884d24a
2012-08-21 10:50:34 -04:00
Eric Dobson
faaaa1396c
Adding documentation for cast and make-predicate.
...
Also converted tabs to spaces.
original commit: 1248b32e73b380dbf43a2ffcbb1f9a54d83bf1c3
2012-08-21 10:50:34 -04:00
Sam Tobin-Hochstadt
8641817ca6
Add type for processor-count
.
...
original commit: 5fb48197037570e22d2e39eb7dbd1f3ca8721387
2012-08-20 14:49:11 -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
26b3938743
Move list-set and list-update to unstable/list.
...
original commit: 6e2e84664da60e82434f907d7274fcc88e47e11f
2012-08-20 14:45:50 -04:00
Sam Tobin-Hochstadt
2117167e8b
Fix typo detected by optimizer.
...
original commit: 4c0d605c430593562b1b29ff7c7617573220aab2
2012-08-20 13:17:50 -04:00
Eric Dobson
7f2c626c7f
Wrap generated code in #%expression.
...
This allows tc-toplevel to hand it off to tc-expr, and not reimplement
the details of annotations.
original commit: b9408e545eb72e2ef4877cd3e9909f4937ebf536
2012-08-20 12:39:41 -04:00
Eric Dobson
8086da4e7e
Add back ignore-some typechecking
...
original commit: 8545f421abfe3e4fb689e12d19ec05b109660e5b
2012-08-20 12:39:41 -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
Eric Dobson
9d60643a65
Added cast operator to typed racket
...
original commit: 553c3a4f80c094d030d11c061464529ed5741e5f
2012-08-20 12:39:40 -04:00
Eric Dobson
e70c2dea51
Add way for code to attach typechecks to itself, and implemented make-predicate.
...
original commit: cc52e56fe6749bba71dbae5e56c0a58d90ac119b
2012-08-20 12:39:40 -04:00
Eric Dobson
3d0e20043d
Allow contract definitions created from expressions to be fixed up.
...
original commit: 115345300dc4bfe3a14c7b7f73507719e2f6500d
2012-08-20 12:39:40 -04:00
Eric Dobson
ce51776f1f
Make TR's ignore-some property work even if there isn't an internal form.
...
original commit: bb67e37c4906334dbf43e650643d9162d195fa3d
2012-08-20 12:39:40 -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
8c95235750
Cleanup builtin structs types.
...
original commit: a408d6bfbfacae706b8d1d51f67c7929c3fcae16
2012-08-20 10:10:17 -04:00
Eric Dobson
0277c62e46
Make promises like every other TR container.
...
original commit: df6562c1de124a01a4a104cf8f813078b12bd680
2012-08-14 16:16:07 -04:00
Eric Dobson
dc0849e298
Replaced infer-dummy with lazy-require.
...
original commit: ac493a6f44773c43c215e8c5cd5dc6d8e1edcdf1
2012-08-14 16:04:51 -04:00
Eric Dobson
a3d44f9315
Fix internal error for untyped kw functions.
...
Closes PR12932.
Closes PR12922.
original commit: 9ef80edfef0e872ec9224c5d1e032c3f46dc2ace
2012-08-14 16:04:51 -04:00
Eric Dobson
fb1c408062
Removed deprecated printf/log.
...
original commit: fdd2966cf405c5b8e877f51aeff6606816b8d9c3
2012-08-14 16:04:48 -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
23a26e8533
Fix type of expt.
...
Closes PR13026.
original commit: f514550300624a5863db333fe781e32da3273e17
2012-08-14 14:37:18 -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
Sam Tobin-Hochstadt
88c5098309
Move define-struct/printer
to new file.
...
Avoids runtime dependency on `racket/generic`.
original commit: 973da6a50cd0994b69b5b8b7cb1f374786de469f
2012-08-14 10:31:22 -04:00
Sam Tobin-Hochstadt
74b6ccbf6a
Minor printer refactoring.
...
original commit: fddd5c63ff4113c104dd184b90b38900aa99b4ad
2012-08-14 09:58:01 -04:00
Eric Dobson
8442c9da34
Make TR debug printer work again.
...
original commit: cac47c0427c8d885b402d036710593cf1d360e7f
2012-08-14 09:45:01 -04:00
Eric Dobson
4667c3bb2a
Make disabling the custom printer work.
...
original commit: 5f0717d278343f355f95bbc2ca39d9a3ebbee3dc
2012-08-14 09:45:01 -04:00
Eric Dobson
9bd0589cf6
Remove unused old printer.
...
original commit: 124707921fd20aed769c250f23e5d89979e457b6
2012-08-14 09:45:01 -04:00
Eric Dobson
2f3add11ff
Cleanup TR printer to use lazy-require.
...
original commit: c9afe15f56bc7c3a6e2347f370e7d2e075ade594
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
Ray Racine
6c22c611d8
Add flvector-copy to TR base env.
...
original commit: 2ff1927f6c1a0da46a7fd633cf62961e2ba06b75
2012-08-13 16:58:29 -04:00
Vincent St-Amour
b59fef3342
Fix type of division.
...
original commit: 7c6cf0fa8b43e39f88211fa35ac151616f2704ba
2012-08-10 18:07:38 -04:00
Sam Tobin-Hochstadt
1d6678c2ad
Don't generate rest specification for ->* when not needed.
...
original commit: aa6ed4d736b2e4486c82a4a1ed4ac7b1f9296a3e
2012-08-10 11:00:02 -04:00
Eric Dobson
da8782fb09
Make generated flat contracts actually flat.
...
original commit: 3876dfa8411e06b2225b614246fa0274855e915b
2012-08-10 10:39:44 -04:00
Vincent St-Amour
7acddd1b92
Refactoring.
...
original commit: 75efede59b26315cd0273427ca08a46a5b947d88
2012-08-07 16:33:31 -04:00
Vincent St-Amour
806c02c533
Add :query-type/args.
...
Shows return type for a given function with given argument types.
original commit: 674c71103b65d5ac8467433def7c4542e01985a3
2012-08-07 16:33:31 -04:00
Vincent St-Amour
3a09c5d6df
:query-result-type -> :query-type/result
...
Result type is given, not asked for.
original commit: d87339d4145ebadc70df54c5a18b6370c2b58fbc
2012-08-07 16:31:52 -04:00
Vincent St-Amour
0f24ab150d
Add a separate "Exploring Types" section to the TR reference.
...
original commit: 28c85dfd253a6e386da14758d0e95e9ecdd0a6a9
2012-08-07 16:31:52 -04:00
Vincent St-Amour
1e1fb40d32
Allow multi-line printing of case-> types.
...
Currently only used in :print-type. Everywhere else, types are pruned.
original commit: 4b30d052b0216420ef1abcec44f0c027cc588880
2012-08-07 16:31:52 -04:00
Vincent St-Amour
0b962a8f5d
Use type aliases when printing full types.
...
Reduces the printout size significantly.
original commit: 34ee1d26032f84cd67a7835b66e3bddbdce8d497
2012-08-07 16:31:51 -04:00
Sam Tobin-Hochstadt
30e80ee604
Add back some special cases.
...
original commit: 7eaae20f41e0b5bbbe90af0461e24f9aef1b2931
2012-08-07 15:51:02 -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
Eric Dobson
3d2814de81
Removed convenience.rkt from typed racket.
...
original commit: 9ed360bb5e3fd793ac4479507852aa282125fd61
2012-08-07 15:50:50 -04:00
Eric Dobson
2009c1da8a
Rearange type code, so that abbrev.rkt can depend on union.rkt.
...
Split out base-abbrev.rkt so that subtype is not dependent on abbrev.rkt.
Remove unused code in numeric-tower.rkt so that it is now a dependent of
abbrev.rkt, which allows the body of convenience.rkt to be merged back in.
Remove special casing for union.rkt and extraneous subtyping checks.
Remove union-maker.
original commit: 56fd9e63219b87d0fddbfd5d9fdb97010acd13f3
2012-08-07 15:50:50 -04:00
Eric Dobson
a81b666a5e
Replaced references to abbrev.rkt with convenience.rkt.
...
Skipped this for subtype.rkt, because of a require loop caused by
lazy-require.
original commit: 6dbc054e41af5820ceda8a50508ccf43c51ab7ed
2012-08-07 15:50:50 -04:00
Vincent St-Amour
13b06ee19a
Control number of attempts for TR random testing from the command line.
...
original commit: 7494fccc4c8af1ced3771b58515e661b2aca7f6c
2012-08-06 12:48:41 -04:00
Eric Dobson
dab83ca0b0
Fill hole in recursive type soundness. Fixes PR 11372.
...
original commit: e6d4fb2ee247cfec157175788ff29f94e6aec3e5
2012-08-06 12:31:07 -04:00
Eric Dobson
786a64de60
Add support for creating contracts of heterogenous vectors
...
original commit: 9f453676d13f4b44ee9e8d891984de38db9bdeb0
2012-08-06 12:31:07 -04:00
Eric Dobson
74f13b21f1
Fix type of integer-sqrt and add type for integer-sqrt/remainder.
...
original commit: f09069854225ccc00b9b9041fc2f26d2e83f8450
2012-08-06 12:31:07 -04:00
Vincent St-Amour
9f060f5be7
Swap unsafe and chaperone-unsafe vector ops in the TR optimizer.
...
Closes PR12969.
original commit: aba046a92d42de70a2f777bfbe9a4e75f8e935a9
2012-08-04 10:32:21 -04:00
Vincent St-Amour
642e310bbe
Remove invalid singleton return types.
...
NaN doesn't inhabit these types, but can be produced there.
original commit: 1215fb6cec8ed7e6559e279a46fc7d2be0bfd403
2012-08-03 14:21:44 -04:00
Vincent St-Amour
90741c2747
Include NaN in all floating-point types.
...
Makes more closure properties hold, but weakens occurrence typing for
some comparisons involving flonums.
original commit: a6d5a98b61c033340c66b91dd53c18ea50db8c60
2012-08-03 14:21:44 -04:00
Vincent St-Amour
5c4b0895dd
Fix type of rational?.
...
original commit: b1fbbafd91fdd64496647f0108ece7e6fed9947e
2012-08-03 14:21:44 -04:00
Vincent St-Amour
5bb888e47e
Fix documentation for packages and mutable lists.
...
As suggested by Matthew.
original commit: 800a328fe6524cc9aaac3d258d8bdeee3fca9337
2012-07-31 17:12:30 -04:00
Vincent St-Amour
c9d00530aa
Fix type for dynamic-place.
...
original commit: cc8a9b5ed79ee065bdd36c1c01cec929de054192
2012-07-31 17:12:30 -04:00
Vincent St-Amour
445524b021
Fix parametric require/typed in typed/racket/base.
...
Closes PR12951.
Please merge to release.
original commit: dd02f5eedaaea8077e36e38511e0af1998b5f94f
2012-07-29 09:02:58 -04:00
Vincent St-Amour
6b569fa82f
Move mutable list functions to the compatibility collect.
...
Mutable pair functions from racket/base are not moved.
original commit: 52439d528b78db6394798d9bdd39b2017de03a5e
2012-07-27 16:49:05 -04:00
Vincent St-Amour
2b8e955f68
Fix type for add-between.
...
original commit: b1577bd307ac1c8136630a3949755f833a8073d2
2012-07-24 16:41:52 -04:00
Vincent St-Amour
e7eaeaea33
Fix spacing issue.
...
original commit: cfc8fe576676de1d2834bd20fbded3e5219519ed
2012-07-24 13:48:05 -04:00
Robby Findler
e67f435938
adjust the interface reference in drracket for the new view menu
...
original commit: df4508573a32e3400bf209901fecd547ad078f1e
2012-07-21 11:34:13 -05:00
Vincent St-Amour
d9b716ccf4
Update Optimization Coach documentation.
...
Please merge to release.
original commit: ea6ba36ccb505cd8d08ca1f88d9f9aed18209e8f
2012-07-20 18:05:33 -04:00
Vincent St-Amour
3f31c7af35
Only enable Optimization Coach button in Typed Racket.
...
Other languages can access it through the View menu.
Please merge to release.
original commit: 24b314a40ade5c576912eea416a68d78e09ca01b
2012-07-20 18:05:32 -04:00
Vincent St-Amour
8dcab4cef0
Change Optimization Coach message.
...
original commit: 2e594d36068ab198662bbece0f79981779f23a0d
2012-07-20 18:05:32 -04:00
Sam Tobin-Hochstadt
460b1fe7b3
Ensure that structs don't overlap with simple values.
...
Reported by Ray Racine.
Please merge to release.
original commit: 4a90c6c1fea75fac3132de7df70e5e7e8207b311
2012-07-20 13:01:32 -04:00
Asumu Takikawa
2f6213c56f
Allow guards for impersonatable struct type properties
...
original commit: e14c5d61e95b867a95c820adec6c5b9e5f1ff9dc
2012-07-19 22:46:14 -04:00
Sam Tobin-Hochstadt
63c203c7ea
Document Struct
.
...
Merge to release.
original commit: a589d027511c3a609ffbda2efaaf394c2734c1bc
2012-07-19 10:55:31 -04:00
Matthew Flatt
f549a9e634
submodules: make .zo path stick for consistent independent loading
...
When a module is loaded from bytecode and then the value of
`use-compiled-file-paths' changes, an attempt to load a submodule
would fail, because source isn't used if the main module is
already declared, and the bytecode code is not used according to
`use-compiled-file-paths'. Make the bytecode path stick when it
is used once, so that submodule loads succeed, and make it work
even with `namespace-module-attach'.
The module-attach part of this protocol requires a change to the
API of a module name resolver: the notification mode gets two
arguments, instead of one, where the second argument is an
environment.
original commit: c8f4ac6ae47023157a337aa5e164b74439e373d6
2012-07-17 09:47:05 -06:00
Sam Tobin-Hochstadt
be30f1ae76
Use lazy
instead of delay
, as recommended by Eli.
...
original commit: 22904ef43eeb947b6435983857baa62c4533a5e8
2012-07-17 07:11:23 -04:00
Eric Dobson
9ee5660550
Fix things broken by bad rebasing.
...
original commit: 9dac995e36c99a6170a72ec9b784ca446ec17ca1
2012-07-15 19:21:26 -04:00
Eric Dobson
1be54e4cc5
Clean up of typechecking for heterogeneous vectors and structs.
...
original commit: 1df6165e9fae2213d2ebb7f70b54c35e0193782e
2012-07-15 19:21:26 -04:00
Eric Dobson
6d683c97a6
Clean up of tc-app.rkt.
...
original commit: dd078dcb950a99d267c8abdd69e7c5dd1de0ba5f
2012-07-15 19:21:26 -04:00
Eric Dobson
e02e4bbe11
Remove special cases for - and fx- in tc-app.rkt.
...
original commit: 779291c795e6370706efa34cca6af2a110727ebb
2012-07-15 19:21:26 -04:00
Eric Dobson
fd7bea8edb
Added cond-check-below
...
original commit: 8f98bb6d92aa2aa47910b9aa2cc8301b76f063ed
2012-07-15 19:21:26 -04:00
Eric Dobson
ceb8feedcc
Fix bad contract and clashing provides in TR when contracts are enabled.
...
original commit: 3dfd4c52a9ef0caeee283ed82e061ae8cab4a95d
2012-07-15 19:21:25 -04:00
Eric Dobson
d93803cdeb
Make TR compile cleanly with contracts enabled.
...
Added a couple of contracts and fixed some others up as well.
The two bugs were that with-contract was not imported, and that
subtype could be called with Values and Results.
original commit: 030e56311ec9196131e321129023c9ef21f39b32
2012-07-15 19:21:11 -04:00
Sam Tobin-Hochstadt
90e5702fb5
Properly handle quoted constants with bad expected types.
...
Closes PR 12874.
original commit: 8c659d50ede68e23f1c14e45000717c64dc0c2ce
2012-07-14 23:06:13 -04:00
Sam Tobin-Hochstadt
60b0b0faaa
Handle arbitrary recursive contracts generated from Rec
types.
...
original commit: 1dca82784b664e7640053333fec85980159cbd16
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
073263527c
Improve type of values
when applied to one argument.
...
Closes PR 12846.
original commit: 2aaeec4520cb82f847fa57412b60a023ba7f3fa7
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
4a2fb49431
Fix special case for expected unions of vectors.
...
Closes PR 12845.
original commit: ccf79943ab6af0655adcb3f05d13f8f131651c4a
2012-07-14 21:56:44 -04:00
Sam Tobin-Hochstadt
57358149cb
Don't shortcut simple letrec
forms that aren't lambda
s.
...
Closes PR 12841.
original commit: 2500dad8f124429fc5b035fc58add891f2bd7bb8
2012-07-14 21:36:56 -04:00
Sam Tobin-Hochstadt
c52317054a
Vector fixes.
...
- Allow indexing into a VectorTop, with result `Any`.
- Don't use special typing rules for applications when the operator
has an annotation or instantiation.
Closes PR 12887.
Closes PR 12888.
original commit: 9e097866bfcb0f2eed86993861f09ecf82b98e47
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
f5de041d2c
Fix documentation of Sequenceof
type.
...
Closes PR 12831.
original commit: 49b030ac8dac84a02a8f273339eedc2ceb022e01
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
b5b7c3f7ed
Mutable data at typed boundaries can't have flat contracts.
...
Closes PR 12884.
original commit: f40c7f11a6a11c9e7afe1c02b2826ebd7626edbd
2012-07-14 20:43:35 -04:00
Sam Tobin-Hochstadt
33469762b7
Parse (Struct t)
as StructTop.
...
Close PR 12903.
original commit: 546c12cf2a2205aa19b205fd45a4653e3a1d2448
2012-07-14 19:20:51 -04:00
Sam Tobin-Hochstadt
7b9857b656
Print StructTop
nicely.
...
Related to PR 12903.
original commit: 418a0c311b8b1e463f1c449f10c2b31f9b25a287
2012-07-14 18:41:42 -04:00
Sam Tobin-Hochstadt
57dea3aacd
Intern Struct
types properly wrt. identifiers.
...
original commit: 4cba6e010fab5d1c9efce484a6de76f7cf4a3c0e
2012-07-13 17:10:50 -04:00
Sam Tobin-Hochstadt
ee5584e4d5
Require binding of add-mod
.
...
original commit: e6697fe43f2ed4feac1e8e74da319a0aedb3b0d4
2012-07-13 17:10:50 -04:00
Sam Tobin-Hochstadt
b109d46e28
Use promises for current-type-names
.
...
original commit: 683f8e4e4b6f95da74b69e1587b1f1e9f77ca6b8
2012-07-13 17:10:50 -04:00
Sam Tobin-Hochstadt
60c565f64e
Fix tests for new type name declaration.
...
original commit: 2dd9a43d1b3fe4d3b64ccee5c88db4cb58d7f3f8
2012-07-12 17:41:12 -04:00
Sam Tobin-Hochstadt
1f7d88e114
Reduce some dependencies of Typed Racket prims.
...
original commit: 396b04eb8689ed918f675cbed290c0a1bfa71c78
2012-07-12 17:41:12 -04:00
Sam Tobin-Hochstadt
a6fc57ea97
Delay actual initialization of type environment.
...
original commit: 5ab3827b488cdd638da7b48ca9c52ca9aa344faa
2012-07-12 17:41:12 -04:00
Sam Tobin-Hochstadt
788e335196
Rename type-decl
submodule to #%type-decl
.
...
original commit: 775dc67a3b30686e604cf459c017320a64f128c5
2012-07-12 17:41:12 -04:00
Vincent St-Amour
fdd870efd5
Rename Performance Report to Optimization Coach.
...
The new name is more accurate.
original commit: 60a0f3b8545582df43673063b65116a0f929b415
2012-07-11 10:59:35 -04:00
Vincent St-Amour
e2f3073123
Filter reports by provenance (TR / mzc).
...
Can't easily combine with filtering by opt / missed opt, so I dropped it.
original commit: 1d084888fddb7c3efb32f82b137d1c433cb50135
2012-07-11 10:59:35 -04:00
Vincent St-Amour
3f2c9145fa
Performance Report is enabled for all languages, so don't enable it for TR.
...
Avoids duplicate buttons.
original commit: aaf7acb0347feb298670653af4373c9ff2dc7557
2012-07-11 10:59:34 -04:00
Neil Toronto
c2a4fbc734
Added sequence typecheck tests
...
Added empty-sequence type (prints funny but works polymorphically; will submit bug report)
Loosened type of sequence-andmap (can't mimic andmap's predicate type)
original commit: 392d7bfbadee8143f6ec76e965f0c4e31246695e
2012-07-10 13:22:53 -07:00
Sam Tobin-Hochstadt
6287ffe3f0
Revise type environment propagation to use submodules.
...
Each typed module now defines a submodule named `type-decl`.
This module performs the type environment initialization (along
with other environment updates) when invoked. Additionall,
every typed module, when invoked, performs a for-syntax addition
to a list specifying the submodules that need invocation.
This invocation is then performed by the `#%module-begin` from
Typed Racket.
The `type-decl` module always goes at the beginning of the
expanded module, so that it's available at syntax-time for all
the other submodules. This involved adding pre- and post-
syntaxes for the results of typechecking.
This allows significant runtime dependency reduction from the
main `typed/racket` and `typed/racket/base` languages (not yet
complete).
original commit: 6bf141513fa9387f438bb0f328f5ec67ada8f757
2012-07-10 12:49:27 -04:00
Sam Tobin-Hochstadt
29763a44d9
Remove evcase
.
...
original commit: 88f5f4c8361d990af44ea1335d03d292f2ce2c46
2012-07-10 12:49:27 -04:00
Neil Toronto
9725465b46
Added inline hint around `index?' definition; my own timing suggests 2x speedup
...
original commit: 419b59e88ea025a4d6cd2fa2cdbe62eb64529c78
2012-07-09 19:15:35 -07:00
Neil Toronto
93a0e963c7
Added types for single-value sequences
...
Fixed some printing types
original commit: 77655f9ade5733d722a22acd52b338ea00f2af30
2012-07-09 19:15:35 -07:00
Vincent St-Amour
5251b92b21
Fix type of andmap and ormap on empty lists.
...
Closes PR 12882.
original commit: dba49db078bd0684562daa469df6a8b5f8dc72fb
2012-07-06 12:28:37 -04:00
Sam Tobin-Hochstadt
39f778a891
More refactoring and reduction of runtime dependencies.
...
original commit: 20e95f8d8e5ae3ea9106cff5b271c88e9e66cda1
2012-06-28 14:34:07 -04:00
Sam Tobin-Hochstadt
88460e98dd
File splitting, dependency reduction.
...
original commit: f075ecd36e708d21c825666502290e3bb98830af
2012-06-28 14:34:07 -04:00
Vincent St-Amour
1d2a50c63e
Update types of string-join and add-between.
...
original commit: db6c2e77371e31d0bed4cc504e5c8effe42959aa
2012-06-27 11:39:15 -04:00
Sam Tobin-Hochstadt
867a992700
Fix type of dynamic-place
.
...
original commit: d346415903983e6b4b698129f8d77dcec60b4d05
2012-06-25 19:20:12 -04:00
Sam Tobin-Hochstadt
ec62a2f7c4
Remove no-longer needed require for residual code.
...
original commit: 5e26c329d609cda35e3b0b35c1e66e33282c7b63
2012-06-25 19:20:12 -04:00
Sam Tobin-Hochstadt
c762e9eb4c
Avoid requiring the printer unneccesarily.
...
original commit: 94f1cb2127b9cc630d0122b6fdc98066f364597c
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
d575bd40bb
Depend only on the lowest-level place
primitives.
...
original commit: c61ed30d0b0b87d7bef9dfafe2db3af719896cb8
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
5f08e63cb8
Disable unused code.
...
original commit: 08c3f784766f6bc0957fe482fcc91924952a61fc
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
76f157026a
Load environments dynamically in residual code.
...
original commit: 794bfa50ecf854eb36bb2195c99202cc1a7f879f
2012-06-25 18:07:45 -04:00