Commit Graph

2321 Commits

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