Commit Graph

1043 Commits

Author SHA1 Message Date
Vincent St-Amour
7876c75cbc Got rid of a broken subtyping rule.
original commit: 5a67535a950ba19846151a6f7a3f7a473affea86
2010-10-01 17:48:47 -04:00
Vincent St-Amour
1fb2c973f0 Further improvements for TR's error messages.
Only the most permissive domains whose associated return type is
consistent with the expected type are shown in error messages.

For example, for a function with the following type:
Fixnum -> Fixnum
Integer -> Integer
and an expected type of Integer, only the latter domain is shown in
the error message.

original commit: e011ea00bd73fd8ac3b9c4afe4e1435dcaa27cdb
2010-10-01 17:48:46 -04:00
Vincent St-Amour
5fab19e4df Improved TR's error messages in presence of case-lambda types.
- When displaying errors involving functions that have case-lambda
  types with branches that are redundant modulo filters (such as <, >
  and others), only the general branches appear in the error message.
  (Real Real Real * -> Boolean, in the case of < and co.).
- For all errors involving case-lambda types, only domains for which
  the return type is consistent with the expected type are displayed
  in the error message. Further simplification is planned.

original commit: 206fe52047f24ab89ac1d538c939c04fbbae59b7
2010-09-23 12:59:47 -04:00
Vincent St-Amour
2e1cf9d4f4 Explained a design decision.
original commit: 4aa7bc8439195addb172976253054ca1d41c72a1
2010-09-23 12:12:15 -04:00
Stevie Strickland
dbdb62fc7b Convert vectorof/vector-immutableof to the new regime.
Also add old-style vectorof to mzlib/contract.

original commit: 3028f2d1424123d076a95572a7564b8fb069a86e
2010-09-16 15:04:41 -04:00
Vincent St-Amour
6b979e393f Documented optional for: and let: annotations.
original commit: e0bda30738a696a427d2ffc830789628da1beb4d
2010-09-16 13:24:11 -04:00
Vincent St-Amour
ef623a46b6 Made annotations optional for let: and variants.
original commit: 8aab96faa6cac4fd20b7464693152d1f9a3ad106
2010-09-16 13:24:10 -04:00
Vincent St-Amour
cc871deebb Made some type annotations optional in the for: macros.
original commit: 9f87b5a7e6a2034a4d936bd2cc8e67632f8c6e3b
2010-09-15 20:21:51 -04:00
Vincent St-Amour
71d2819cba Removed an obsolete comment.
original commit: 1b28aa41c706292734f81a61411305e8d4546847
2010-09-15 20:21:51 -04:00
Vincent St-Amour
b03abef7ff Added annotated versions of the for macros that generate vectors.
They are purposedly left out of the documentation since the typchecker
can't currently handle their expansion.

original commit: a10d145f25dd4257dd216ea0b1e97184a29c7683
2010-09-15 20:21:50 -04:00
Stevie Strickland
e7e187e1de Now change box/c to use proxies or chaperones appropriately.
Create a mzlib/contract compatible version of the old box/c and use that
for mzlib/contract.  Change the docs so that the docs for mzlib/contract
contain the right information.

Fix the typed-scheme implementation to only force flat box (or hash)
contracts when it already is required to be flat.  Otherwise, allow
non-flat contracts for the element contract (or domain/range contracts).

original commit: 994ad6d10fc817a5ceca2f9f4874dac5c14c0aab
2010-09-15 16:57:17 -04:00
Sam Tobin-Hochstadt
9d31fc0726 Fix doc typo.
Closes PR 11190.
  Closes PR 11191.

original commit: 07227ed8f7e32ed552186f41df8c9fedde1c6a02
2010-09-13 08:46:56 -04:00
Sam Tobin-Hochstadt
70a3eb6153 Fix for new ->i syntax.
original commit: d1835175d7cc0cab1bc717b052c1d080e7f443f3
2010-09-10 18:38:02 -04:00
Sam Tobin-Hochstadt
087b5fd8f7 Fix internal error when single value expected.
original commit: 979561354d3c0949208e1dd7fed9fe750f4c1cef
2010-09-10 18:29:34 -04:00
Sam Tobin-Hochstadt
8a568284b9 Add some file primitives.
original commit: 5789981f2c4756f2f6cd066ac6f28555dc57e1fd
2010-09-10 18:29:34 -04:00
Vincent St-Amour
f88c8f479e Extended pair optimization to the rest of the standard derived pair accessors.
original commit: 0166ece180194605a52841a2a91fb2618e0372a1
2010-09-09 18:54:34 -04:00
Vincent St-Amour
19dcce8809 Refactoring.
original commit: 74508210687ad0e415af1f28037357ec2640e3ba
2010-09-09 18:54:34 -04:00
Vincent St-Amour
dee0ddc16e Extended pair optimizations to some derived pair accessors.
original commit: 024f873947bb5664b92cd68be55653b2ca4a24ee
2010-09-09 18:54:33 -04:00
Vincent St-Amour
51faa45faa Removed useless requires.
original commit: 6e5ea420a1bad921ab07788c64df6a2daaa933af
2010-09-09 18:54:33 -04:00
Vincent St-Amour
66770afa1c Removed unused exports.
original commit: 85550953c8b484da89bb107f7785c4e8e1188e2c
2010-09-09 18:54:33 -04:00
Sam Tobin-Hochstadt
c13d984042 Add additional require for identifiers in the residual program.
original commit: c15871a0284fcf2a6a8c78fafde4fdd9a9551bca
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
e0b7b06a21 Add `require' to fix tests.
original commit: 0ae9e0ff851a1d5835ac8ab1eb1bd1a0b7ab3c8c
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
df6cce314c Avoid printing results of `define-hierarchy'
original commit: bc6d8f98ed08e1f70f1b3ea255869b06533d2372
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
eba0c35b6c Fix `require' for contracts.
original commit: 867f35927430b61c411ae7c930964b9e70f42cc5
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
a074f3dc6d `require' changes
original commit: 7a1b29c8f27328cacc01b34c8e01f0ac361ccc3d
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
0c00609ade Enable struct construction when not transforming. Necessary for testing.
original commit: 71ae5f0a6e92f571ab34ed1849ff31c71117e12c
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
63f6827622 Fix `hash-name' to avoid collisions.
original commit: eea479b34a2014f259f59098a38aa33ba0ee1971
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
e717d29b74 Lots more laziness, and useless require removal.
original commit: b6b840076b275d653843400f18259bf7f67c7a53
2010-09-09 16:08:03 -04:00
Sam Tobin-Hochstadt
63748f9460 Progress on delaying some environments.
original commit: de0e8bc81ce566d9a540832f794d96b2cf9409ce
2010-09-09 16:08:03 -04:00
Robby Findler
780c2159b8 changed the ->d contracts to ->i contracts
original commit: d419e8c12a554d660a65198dd102bc03e01c93a8
2010-09-09 14:21:35 -05:00
Sam Tobin-Hochstadt
54763a9ca3 simplify requires
original commit: 837291a793bd9602af16404db1b4fc49e639021f
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
72a11f2d56 Load typechecker dynamically to reduce footprint.
original commit: 120a1d0d87824f90b153047cc3a5408a60753b65
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
673abe2e46 simplify
original commit: cfc289d806a4a71e34df8dc8b98b5024b66a4cff
2010-09-08 11:37:02 -04:00
Sam Tobin-Hochstadt
1503fed8c3 Add memory fns.
original commit: fae02be9f06aefd55c65211d2e95a07041ebfede
2010-09-08 11:32:04 -04:00
Sam Tobin-Hochstadt
8cdcde83cd Fix contract name references.
original commit: 350cef9af8bc27dc5eb223875d3f7a3c408753a4
2010-09-08 11:05:51 -04:00
Sam Tobin-Hochstadt
fba3c3b9ca Propogate #:mutable for polymorphic structs.
Closes PR 11127

original commit: a0e77705e578927e5d8180e6bc811461173580ab
2010-09-08 10:47:51 -04:00
Sam Tobin-Hochstadt
4bf64acde5 Fix polymorphic structs with mutability.
original commit: 6130f3551c1019c1bc035d802378c29bf574a0c1
2010-09-08 10:24:58 -04:00
Sam Tobin-Hochstadt
617496f14e Make syntax of #{} less accepting of errors.
original commit: 91fefa055ea0b0fda8ae8bffb993bc163e4160af
2010-09-08 10:24:58 -04:00
Vincent St-Amour
ae11f47dbd Fixed a dangling link in the doc.
original commit: 11e168f01eecd7b39228d5399e045510d6349e01
2010-09-07 16:57:02 -04:00
Vincent St-Amour
a50913b597 Removed unsafe optimization on fixnums.
original commit: ae88abd5c849b664e4720fb0ac20b29c684b2a2b
2010-09-07 16:57:02 -04:00
Vincent St-Amour
0df6f293ce Added the fixnum types to the documentation.
original commit: 440871f99d8edc425f633e87555c9f4d110c501d
2010-09-07 16:57:02 -04:00
Stevie Strickland
3e6ab819c6 Check struct predicate before checking fields.
original commit: 3b0de9c141edee84be57768a22b1ae3264fcc7f5
2010-09-02 19:59:00 -04:00
Ryan Culpepper
721c939b95 added #:commit to TR optimizer stxclasses
original commit: 0c4f82a434daa05decb6f4c92bede7ef11d5b998
2010-08-31 16:21:44 -06:00
Ryan Culpepper
7799959a8b fixed TR optimizer to work with backtracking syntax/parse update
problem was unboxed-inexact-complex-opt-expr, "non exhaustive" error variant

original commit: 04a93812b455586ca3ad8c69844e20ddc6025162
2010-08-31 10:55:58 -06:00
Sam Tobin-Hochstadt
01fd7f5b8c Use `any/c' for contracts for polymorphic functions.
original commit: 92ce3ca02d448df97ba8e9e2210a898848cae0f1
2010-08-27 18:36:49 -04:00
Sam Tobin-Hochstadt
a6a1840da1 Use the correct name in the provide.
original commit: d38af188f6ee5d52b442b14a572b7e579b417925
2010-08-27 18:36:49 -04:00
Vincent St-Amour
f360fac138 Added annotations to plain for and for* in typed code.
original commit: d3ee52d4514170b514faecb80b5c939bf7da3aea
2010-08-27 18:18:52 -04:00
Vincent St-Amour
5ead0f43e2 Cleanup of syntax-parse patterns.
original commit: 988466369739ac5682205e49185c3956e07f3f0d
2010-08-27 14:43:19 -04:00
Vincent St-Amour
31342660e4 Improved logging since it's now used for testing.
original commit: ca16ac4db50032324c2886766f477909f38b983c
2010-08-27 13:29:42 -04:00
Vincent St-Amour
2ed40e6b09 Adapted filename logging for testing purposes.
original commit: 6f6ec3b2bf1999e64c04b9ff2afb29739e9c3eef
2010-08-27 13:29:42 -04:00