Sam Tobin-Hochstadt
7bcd107e7f
Fix `overlap' for refinements of base types.
2010-10-07 11:19:54 -04:00
Sam Tobin-Hochstadt
a45ce954d7
Remove outdated comment.
2010-10-07 10:18:06 -04:00
Vincent St-Amour
99178c70a0
Have the optimizer ignore struct/exec.
2010-10-06 18:43:35 -04:00
Vincent St-Amour
d39cb530cf
Updated the documentation of TR's optimizer.
2010-10-06 17:32:30 -04:00
Vincent St-Amour
8baa1682af
Turned the optimizer on by default.
2010-10-06 17:32:30 -04:00
Vincent St-Amour
5395dbca12
Fixed tautology/contradiction recording to work with case-lambda.
2010-10-06 17:32:29 -04:00
Vincent St-Amour
2172328189
Register types for send exprs in the type table.
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
c739128703
Contract fixes.
2010-10-01 19:29:18 -07:00
Vincent St-Amour
5a67535a95
Got rid of a broken subtyping rule.
2010-10-01 17:48:47 -04:00
Vincent St-Amour
e011ea00bd
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.
2010-10-01 17:48:46 -04:00
Vincent St-Amour
206fe52047
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.
2010-09-23 12:59:47 -04:00
Vincent St-Amour
4aa7bc8439
Explained a design decision.
2010-09-23 12:12:15 -04:00
Stevie Strickland
3028f2d142
Convert vectorof/vector-immutableof to the new regime.
...
Also add old-style vectorof to mzlib/contract.
2010-09-16 15:04:41 -04:00
Vincent St-Amour
e0bda30738
Documented optional for: and let: annotations.
2010-09-16 13:24:11 -04:00
Vincent St-Amour
8aab96faa6
Made annotations optional for let: and variants.
2010-09-16 13:24:10 -04:00
Vincent St-Amour
9f87b5a7e6
Made some type annotations optional in the for: macros.
2010-09-15 20:21:51 -04:00
Vincent St-Amour
1b28aa41c7
Removed an obsolete comment.
2010-09-15 20:21:51 -04:00
Vincent St-Amour
a10d145f25
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.
2010-09-15 20:21:50 -04:00
Stevie Strickland
994ad6d10f
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).
2010-09-15 16:57:17 -04:00
Sam Tobin-Hochstadt
07227ed8f7
Fix doc typo.
...
Closes PR 11190.
Closes PR 11191.
2010-09-13 08:46:56 -04:00
Sam Tobin-Hochstadt
d1835175d7
Fix for new ->i syntax.
2010-09-10 18:38:02 -04:00
Sam Tobin-Hochstadt
979561354d
Fix internal error when single value expected.
2010-09-10 18:29:34 -04:00
Sam Tobin-Hochstadt
5789981f2c
Add some file primitives.
2010-09-10 18:29:34 -04:00
Vincent St-Amour
0166ece180
Extended pair optimization to the rest of the standard derived pair accessors.
2010-09-09 18:54:34 -04:00
Vincent St-Amour
7450821068
Refactoring.
2010-09-09 18:54:34 -04:00
Vincent St-Amour
024f873947
Extended pair optimizations to some derived pair accessors.
2010-09-09 18:54:33 -04:00
Vincent St-Amour
6e5ea420a1
Removed useless requires.
2010-09-09 18:54:33 -04:00
Vincent St-Amour
85550953c8
Removed unused exports.
2010-09-09 18:54:33 -04:00
Sam Tobin-Hochstadt
c15871a028
Add additional require for identifiers in the residual program.
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
0ae9e0ff85
Add `require' to fix tests.
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
bc6d8f98ed
Avoid printing results of `define-hierarchy'
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
867f359274
Fix `require' for contracts.
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
7a1b29c8f2
`require' changes
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
71ae5f0a6e
Enable struct construction when not transforming. Necessary for testing.
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
eea479b34a
Fix `hash-name' to avoid collisions.
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
b6b840076b
Lots more laziness, and useless require removal.
2010-09-09 16:08:03 -04:00
Sam Tobin-Hochstadt
de0e8bc81c
Progress on delaying some environments.
2010-09-09 16:08:03 -04:00
Robby Findler
d419e8c12a
changed the ->d contracts to ->i contracts
2010-09-09 14:21:35 -05:00
Sam Tobin-Hochstadt
837291a793
simplify requires
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
120a1d0d87
Load typechecker dynamically to reduce footprint.
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
cfc289d806
simplify
2010-09-08 11:37:02 -04:00
Sam Tobin-Hochstadt
fae02be9f0
Add memory fns.
2010-09-08 11:32:04 -04:00
Sam Tobin-Hochstadt
350cef9af8
Fix contract name references.
2010-09-08 11:05:51 -04:00
Sam Tobin-Hochstadt
a0e77705e5
Propogate #:mutable for polymorphic structs.
...
Closes PR 11127
2010-09-08 10:47:51 -04:00
Sam Tobin-Hochstadt
6130f3551c
Fix polymorphic structs with mutability.
2010-09-08 10:24:58 -04:00
Sam Tobin-Hochstadt
91fefa055e
Make syntax of #{} less accepting of errors.
2010-09-08 10:24:58 -04:00
Vincent St-Amour
11e168f01e
Fixed a dangling link in the doc.
2010-09-07 16:57:02 -04:00
Vincent St-Amour
ae88abd5c8
Removed unsafe optimization on fixnums.
2010-09-07 16:57:02 -04:00
Vincent St-Amour
440871f99d
Added the fixnum types to the documentation.
2010-09-07 16:57:02 -04:00
Stevie Strickland
3b0de9c141
Check struct predicate before checking fields.
2010-09-02 19:59:00 -04:00