Commit Graph

1296 Commits

Author SHA1 Message Date
Vincent St-Amour
105b82fb70 Fixed tautology/contradiction recording to work with case-lambda.
original commit: 5395dbca122c534db3d70139c871e0bc4b91515f
2010-10-06 17:32:29 -04:00
Vincent St-Amour
9e13c1a6d9 Register types for send exprs in the type table.
original commit: 21723281899d7aab5692e605386abcf6f92cefe9
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
5733f06d9a Contract fixes.
original commit: c739128703d917540ff963775459b6c75ccf2c80
2010-10-01 19:29:18 -07:00
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
8c6264008d Delete compiled benchmarks when testing.
original commit: f7436b59fb3d1f91481216148f4e147315b0144c
2010-10-01 17:48:46 -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
Matthew Flatt
b6a14210ed rename file to avoid :, which is not allowed under Windows
original commit: fa7dd9b522f0dd14d3b71c74256803228379d562
2010-09-20 03:31:18 -06: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
75d628bd68 Added a test for optional let annotations.
original commit: 7e2094f2d719cfdb626c6aa78893a8516c9a7ea0
2010-09-16 13:24:10 -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
8a94fce374 Fix some optimizer test logs to reflect racket changes.
original commit: e03e53b1cba5a63b5f9c0dafbb777d7116c93d1d
2010-09-16 10:48:28 -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
99b35249ab Removed useless requires.
original commit: 8b60085a177d40b8a494e8f5aafe7fe52022d225
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
Vincent St-Amour
f991c65bb7 Added a test to make sure derived lists accessors don't get optimized then they shouldn't.
original commit: 65c502f9d75f919b8af37bee9698b24a082b27a0
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
Vincent St-Amour
ba761592c6 Included expected optimization logs in the test files.
original commit: 7f546434ed1648ff52efdb0e84883e8af5b2837a
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
9e9680d5ff Fix typechecker tests for new environment setup.
original commit: 00a8a85f9dd344026a1ca8a4087a86d9bf571728
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
ea078904a5 Remove requires for environments now handled dynamically.
original commit: 5302b3e87c01be9c11e5f2098c90615bf5c883bc
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