Commit Graph

351 Commits

Author SHA1 Message Date
Eric Dobson
0671945a8d Moved tests for equality to unit tests 2011-06-17 15:17:20 -04:00
Vincent St-Amour
26541ffbbd Unify types and filter behavior of not and false?. 2011-06-16 18:08:44 -04:00
Sam Tobin-Hochstadt
b76819a66e Wrap expected type. Closes PR 11980. 2011-06-14 19:05:16 -04:00
Vincent St-Amour
3b036388d6 Remove trailing whitespace. 2011-05-18 17:09:45 -04:00
Vincent St-Amour
a1fab6ec06 Give more meaningful names to conditional contract forms. 2011-05-18 17:09:45 -04:00
Eric Dobson
44f377bcd4 Correctly instantiate poly-dotted functions with zero arguments.
Closes PR 11776. Closes PR 11545.
2011-05-03 18:20:31 -04:00
Sam Tobin-Hochstadt
51083dbce6 Remove useless requires. 2011-04-20 09:41:42 -04:00
Ryan Culpepper
7828a7bfa7 moved unstable/{location,srcloc} to syntax collection
fixed bugs in unstable/wrapc
2011-04-08 08:25:22 -06:00
Ryan Culpepper
73ab167522 created racket/syntax from parts of unstable/syntax 2011-04-07 09:47:20 -06:00
Vincent St-Amour
88fac43d55 Add an Exact-Number type. 2011-03-18 10:25:20 -04:00
Vincent St-Amour
fe8f1c3591 Fix contract. 2011-03-17 13:10:19 -04:00
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