David Van Horn
760a58b65d
Fixes more spelling errors.
2011-02-04 19:44:13 -07:00
David Van Horn
c9519fd113
Fixed various spelling errors.
2011-02-03 17:42:33 -05:00
Vincent St-Amour
d65438c9ea
Remove some legacy bindings.
2011-01-31 16:39:19 -05:00
Vincent St-Amour
0f0a2625c6
Fix typechecking of single flonum literals, now that they are enabled by default.
2011-01-31 16:39:18 -05:00
Vincent St-Amour
f1c6c74284
Small-Float -> Single-Flonum
2011-01-31 16:39:18 -05:00
Vincent St-Amour
d4c93cc12e
TR's numeric tower is now built from unions of non-overlapping base types.
...
A lot of the work that was done by special-casing number types can now be
done by TR's handling of unions. This makes it easier to add more numeric
types to the tower and should make writing down types for numeric
primitives much less error-prone.
In addition, this commit adds several numeric types that will help get
tighter bounds on integer arithmetic, such as Index types. They will have
to be integrated to the base environment before they can be useful.
2011-01-31 16:39:13 -05:00
Vincent St-Amour
2bd0145603
Generalize hash table literals and subtypes of symbol.
...
Closes PR 11670.
2011-01-26 14:23:19 -05:00
Vincent St-Amour
7808be5e20
Fix portable-fixnum?.
2011-01-12 14:20:29 -05:00
Vincent St-Amour
cb723092e2
Fix portable fixnum size.
2011-01-05 14:42:31 -05:00
Vincent St-Amour
740b8308d7
Scheme -> Racket
2010-12-10 17:17:02 -05:00
Vincent St-Amour
81ef5f9418
Typecheck body of letrec using original types instead of potentially undefined type.
2010-12-08 20:32:20 -05:00
Vincent St-Amour
53719600d8
Error if we get a type that may be undefined and we don't expect it.
2010-12-08 20:32:20 -05:00
Vincent St-Amour
b045153177
letrec: consider outside bindings safe.
2010-12-08 20:32:19 -05:00
Sam Tobin-Hochstadt
87eab889d6
Allow arbitrary filter specification in function types.
...
Allow (A -> B -> C) for curried function types.
2010-12-08 18:22:29 -05:00
Sam Tobin-Hochstadt
73dbf42e0e
Better handling of `hash-*' functions, and hashes as sequences.
2010-12-08 18:22:29 -05:00
Vincent St-Amour
dc2df4882b
Take into account potentially undefined values in letrec.
...
Closes PR11511.
2010-12-08 18:17:06 -05:00
Eli Barzilay
9a485064ed
Clarify comment re `fixnum?' non-use at the syntax level, and add a note
...
to the `fixnum?' documentation.
2010-11-05 01:48:23 -04:00
Vincent St-Amour
4c081c127a
Fixed a fixnum typechecking issue.
2010-11-04 17:27:34 -04:00
Vincent St-Amour
c0a6137c67
Fixed potential danger with fixnum optimizations.
2010-11-04 15:35:21 -04:00
Vincent St-Amour
27e722f27b
Inexact-Complex -> Float-Complex
2010-10-12 16:47:46 -04:00
Vincent St-Amour
a59a99c42d
Changed the TR numeric tower to use the new flonums.
2010-10-12 16:47:45 -04:00
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