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