Vincent St-Amour
b26531774b
Update base-env-indexing to use the new types.
2011-01-31 16:39:15 -05:00
Vincent St-Amour
46f086282d
Bytes are a sequence of the new Byte type.
2011-01-31 16:39:15 -05:00
Vincent St-Amour
5dbc752542
Edit TR's optimizer's docs to reflect that Float-Complex is the only
...
complex type that can be optimized.
2011-01-31 16:39:15 -05:00
Vincent St-Amour
768bb63361
Fix optimizer to work with new types.
2011-01-31 16:39:14 -05:00
Vincent St-Amour
a0a54b231d
Fix TR tests.
2011-01-31 16:39:14 -05:00
Vincent St-Amour
e56663c943
Add a predicate field to base types, which makes checking for
...
subtyping of value types easier.
However, this means that base types can't be marshaled as before,
since these predicates can't be marshaled. Instead, we now marshal
base types as identifiers that refer to their base type object.
2011-01-31 16:39:13 -05:00
Vincent St-Amour
3e27ed607c
Avoid generating large contracts for common numeric types.
2011-01-31 16:39:13 -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
78c4809177
Make bare union constructor smarter.
2011-01-31 16:39:12 -05:00
Vincent St-Amour
4b3e621d0f
Documented opt-lambda: and popt-lambda:.
2011-01-31 16:39:12 -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
Eli Barzilay
5998ecc564
Abstract the initialization stuff into a separate function.
...
Make it available outside so in the future I can use it in the PL class
code.
2011-01-14 08:35:55 -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
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