Vincent St-Amour
db0046101c
Improved TR's error messages when all domains but one have been eliminated.
2010-10-07 18:30:35 -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
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
Sam Tobin-Hochstadt
979561354d
Fix internal error when single value expected.
2010-09-10 18:29:34 -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
b6b840076b
Lots more laziness, and useless require removal.
2010-09-09 16:08:03 -04:00
Sam Tobin-Hochstadt
120a1d0d87
Load typechecker dynamically to reduce footprint.
2010-09-08 13:20:34 -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
d38af188f6
Use the correct name in the provide.
2010-08-27 18:36:49 -04:00
Eli Barzilay
8e0f8dd39c
More "~n" -> "\n" changes
2010-08-26 12:11:00 -04:00
Eli Barzilay
7dc4d2e5a6
Change a bunch of "~%" and "~n" in format strings to "\n".
2010-08-25 17:17:01 -04:00
Sam Tobin-Hochstadt
3359032ad5
Handle structs with special constructors and mutability.
...
Closes PR 11089.
2010-08-13 11:06:56 -04:00
Vincent St-Amour
dbdbaed506
Fixed typechecking of imaginaries.
2010-08-05 09:04:21 -04:00
Vincent St-Amour
914f142f4f
Fixed types of let loop lambdas.
2010-07-29 18:29:59 -04:00
Vincent St-Amour
27f0e50d53
Register type of loop lambdas generated by the for macros.
2010-07-29 18:29:52 -04:00
Vincent St-Amour
1e550139aa
Added dead code elimination.
2010-07-16 12:22:11 -04:00
Vincent St-Amour
b7229487a5
Various fixnum unsafe operations improvements.
2010-07-16 12:22:11 -04:00
Vincent St-Amour
8505bd8bca
Removed a stray TODO comment.
2010-07-08 18:29:16 -04:00
Vincent St-Amour
eb7fc7a965
Have type ascriptions record the ascribed type in the type table.
2010-07-07 19:42:54 -04:00
Sam Tobin-Hochstadt
e865380f6f
Add typeof mappings only to original form.
2010-07-06 14:09:46 -04:00
Sam Tobin-Hochstadt
0e400291e7
Fix inference for heterogenous vectors.
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
219682bbbe
Refactoring of tc-app.
...
- Move `check-below' into its own module
- Move `tc/apply' to its own unit
- Move `tc/funapp' and `tc/funapp1' to own module, outside of unit
2010-07-02 17:25:07 -04:00
Vincent St-Amour
40988d6d54
Added support for recursive types to vector-ref and vector-set!.
2010-07-02 15:48:07 -04:00
Vincent St-Amour
f79f617ee8
Calls to vector now return heterogenous vectors, to preserve length
...
information.
2010-07-02 15:48:03 -04:00
Vincent St-Amour
8c25e46141
Literal vectors are now given HeterogenousVector types to preserve
...
length information.
2010-07-02 15:48:00 -04:00
Vincent St-Amour
636fca1a83
Generalization is now done on vector types.
2010-07-02 15:16:11 -04:00
Sam Tobin-Hochstadt
ed88b9dd1a
Better handling of expected types for `vector'
2010-07-01 17:32:16 -04:00
Sam Tobin-Hochstadt
71bb63c128
Better typing for `make-sequence'.
2010-07-01 17:12:59 -04:00
Vincent St-Amour
62a15df3eb
Added the Nonnegative-Float type.
2010-06-30 14:53:22 -04:00
Vincent St-Amour
dcfb2d8a94
Added the Inexact-Complex type.
2010-06-30 14:53:21 -04:00
Vincent St-Amour
c6373ca7c0
Added special case to the typechecker for (- <positive-fixnum> 1).
2010-06-30 14:53:19 -04:00
Sam Tobin-Hochstadt
c01b239779
Refactor struct type representation.
...
- fields now represented by fld struct.
- mutability on per-field basis
- accessors are per field
This fixes lots of existing bugs, allows future #:mutable on fields.
2010-06-29 17:33:36 -04:00
Sam Tobin-Hochstadt
3c4f1f39b8
minor cleanups
2010-06-29 17:33:35 -04:00
Sam Tobin-Hochstadt
a214f50812
remove unneeded export
2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
0bae63b516
Use get-type/infer for un-annotated defines.
2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
90d8a3cc13
Generalize mutated variables when inferring types.
2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
3251712ef7
More fixnum improvements.
2010-06-24 18:17:01 -04:00
Sam Tobin-Hochstadt
4b1c62c978
Add Fixnum type.
2010-06-24 18:05:55 -04:00
Sam Tobin-Hochstadt
a33f460b25
recreate selector table automatically.
2010-06-24 16:48:10 -04:00
Sam Tobin-Hochstadt
3c8952d63d
Use the correct field numbers in substructs.
...
Maintain table of struct accessors/mutators.
2010-06-24 14:53:38 -04:00
Vincent St-Amour
3c9e7e34db
Switched indexing to integers in the typechecker's special cases for
...
heterogenous vectors and unsafe struct operations.
2010-06-22 18:42:26 -04:00
Vincent St-Amour
7d1040283e
Added support for unsafe struct operations to Typed Scheme.
2010-06-22 18:42:25 -04:00
Vincent St-Amour
379d9a2125
Added support for unsafe operations on heterogenous vectors.
2010-06-22 18:29:57 -04:00
Sam Tobin-Hochstadt
6e1954d79b
Add `struct:'
2010-06-22 16:29:35 -04:00