Commit Graph

1174 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
25d2827d0d Document ordering in `case-lambda' types.
Closes PR 11394.
2010-12-13 07:26:31 -05:00
Vincent St-Amour
740b8308d7 Scheme -> Racket 2010-12-10 17:17:02 -05:00
Vincent St-Amour
f8c01299f9 Fix double application of format.
Closes PR 11524.
2010-12-10 16:59:12 -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
463ab0d309 Fix type of `-' 2010-12-08 19:31:57 -05:00
Sam Tobin-Hochstadt
e70ccafd7b Add `defined?' assertions to fix DrRacket. 2010-12-08 18:53:56 -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
Vincent St-Amour
33581fd67e map + syntax->list -> syntax-map 2010-12-08 18:17:05 -05:00
Matthew Flatt
94e2d46a8e move Typed Racket manuals to the Languages section 2010-11-27 19:01:17 -07:00
Vincent St-Amour
e7c252739d Fix type for abs. Closes PR 11430. 2010-11-23 14:15:04 -05:00
Vincent St-Amour
54991835d6 Add type for fl->exact-integer. Closes PR 11429. 2010-11-23 14:15:04 -05:00
Vincent St-Amour
58d1f75dc1 Fix type for arithmetic-shift. Closes PR 11428. 2010-11-23 14:15:03 -05:00
Vincent St-Amour
7a7fe577cd Add type for integer-sqrt. Closes PR 11427. 2010-11-23 14:15:03 -05:00
Vincent St-Amour
e10f139ad8 Fix type for raise-type-error. Closes PR 11426. 2010-11-23 14:15:03 -05:00
Vincent St-Amour
2c74984fcd More precise type for sgn. Closes PR 11424. 2010-11-23 14:15:02 -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
c633913b94 Add optional argument to make-hash and co. 2010-10-27 16:15:50 -04:00
Sam Tobin-Hochstadt
561fdc8db5 Avoid dumb parsing bugs in require/typed. 2010-10-26 18:09:45 -04:00
Matthew Flatt
5d8e000d6d swap vector*-ref' and vector-ref', etc.
Merge to 5.0.2
2010-10-25 11:22:35 -06:00
Vincent St-Amour
a15236ea4f Fix opt-lambda:. Merge to 5.0.2. 2010-10-20 14:32:37 -04:00
Vincent St-Amour
12a5454b14 Removed logging when no optimization actually happens. 2010-10-14 14:13:06 -04:00
Sam Tobin-Hochstadt
24bddafa82 Add type for `compose' 2010-10-14 11:44:14 -04:00
Vincent St-Amour
27e722f27b Inexact-Complex -> Float-Complex 2010-10-12 16:47:46 -04:00
Vincent St-Amour
52bd739d00 Added the Float-Complex type for consistency with the new float types.
Inexact-Complex has been kept as a synonym for backward compatibility.
2010-10-12 16:47:45 -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
2c4d6fbb01 Added optimization for first, second and co when possible. 2010-10-12 16:47:44 -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
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