Sam Tobin-Hochstadt
d886331807
Various small assorted fixes.
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
82e7d281cb
More progress on refactoring infer
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
18f45c4138
Fix a bunch of uses of `infer' et al.
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
99e499a503
Change inference to take into account index vs regular vars.
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
fe9395fdbf
Add case to be fixed
2010-06-21 18:30:23 -04:00
Sam Tobin-Hochstadt
a93aecbed7
Special case for (apply values ListDots)
2010-06-21 18:30:20 -04:00
Sam Tobin-Hochstadt
d570006db8
Add index-env.
...
- Remove Dotted and DottedBoth values from tvar-env
- Abstract env extension and lookup for tvar/index-env
- Abstract index inference
- Remove pointless parameterizations
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
4c3f279ab9
Eliminate expressions with dotted pre-types.
...
- Now looks for (List T ...) types.
- special handling of `map', `andmap', `ormap' when list arg is dotted
- remove tc-dots-unit
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4cbeb0b2f0
Change type of ... rest args to have (List T ...) types.
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
50f93b9ed7
More environment refactoring.
...
- rationalize naming of files
- split files by env constructed
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
647c4eef59
Refactor environments.
...
- mapping stored as dict
- use id tables for identifiers
- use env-filter instead of filter
- eliminate spurious use of conses
2010-06-21 18:29:54 -04:00
Sam Tobin-Hochstadt
4925e7e51f
Refactor provide handling.
...
- use id-tables instead of lists
- smarter iteration
- prepare for eliminating declarations when not needed, but don't do it yet
2010-06-21 15:42:52 -04:00
Stevie Strickland
0aae2c866f
Fix use of add-type-expr from commit 5d835ded
.
2010-06-19 14:58:52 -04:00
Sam Tobin-Hochstadt
1e15ce1f32
Fix error message for 1-arg apply
2010-06-19 14:58:52 -04:00
Vincent St-Amour
5d835ded47
Added the type of the 1 literals in expressions of the form (- x 1) to
...
the type table.
2010-06-18 17:43:05 -04:00
Sam Tobin-Hochstadt
0262ef681a
handle multiple body expression properly
2010-06-17 12:50:30 -04:00
Sam Tobin-Hochstadt
bdbb6d48e6
Try harder to find types for loop variables.
...
- use `find-annotation' more
- recognize (let ([x y]) ...)
2010-06-17 11:26:33 -04:00
Sam Tobin-Hochstadt
f73d63e1af
eq? is a predicate for eof
2010-06-15 14:59:08 -04:00
Sam Tobin-Hochstadt
1cff0a1f85
Actually typecheck actuals even when there's a type annotation.
2010-06-11 19:35:56 -04:00
Sam Tobin-Hochstadt
5f069ed4bb
Refactor #%module-begin and #%top-interaction for Typed Scheme.
2010-06-11 11:55:21 -04:00
Sam Tobin-Hochstadt
0379e534e3
New interface for unstable/mutated-vars
...
- functional hash tables
- fix clients
2010-06-10 13:28:29 -04:00
Sam Tobin-Hochstadt
78832fe332
Support case-lambda with multiple branches with keyword arguments.
2010-06-08 17:50:48 -04:00
Sam Tobin-Hochstadt
7f300a2c4f
Special-case (- x 1) for use in loops.
2010-06-08 12:05:56 -04:00
Sam Tobin-Hochstadt
7df8e32793
Properly handling immutable invariant structs.
2010-06-07 14:03:06 -04:00
Sam Tobin-Hochstadt
d4a8c52c71
Fix error message for multiple values.
2010-05-27 10:10:26 -04:00
Sam Tobin-Hochstadt
460bb348e1
Better internal error messages.
2010-05-24 14:05:05 -07:00
Sam Tobin-Hochstadt
986318065d
Remove tc-toplevel from the typechecking unit.
2010-05-24 14:03:14 -07:00
Sam Tobin-Hochstadt
5b0f705b83
Only do abstraction of filters at `let's.
2010-05-24 14:01:00 -07:00
Sam Tobin-Hochstadt
9fe3747a19
Allow expected type to have weaker filters and objects.
...
Closes PR 10729.
2010-05-19 15:14:18 -05:00
Sam Tobin-Hochstadt
638245e4c5
Better type annotation support.
...
- Delay more errors for additional reporting.
- Don't re-check expressions that were checked for inference.
Closes PR 10098.
2010-05-19 10:10:54 -05:00
Sam Tobin-Hochstadt
535dc73fad
More fixes for Vincent.
2010-05-17 18:03:34 -04:00
Sam Tobin-Hochstadt
7ecf424ff8
Fix internal error detected by vincent.
2010-05-17 16:06:27 -05:00
Sam Tobin-Hochstadt
21b5c25c90
Add annotation to test.
...
Fix default case for `vector-set!'
2010-05-14 11:00:23 -04:00
Sam Tobin-Hochstadt
ff36a6e8d1
sensible handling of literal vectors
2010-05-14 11:00:23 -04:00
Sam Tobin-Hochstadt
7ac925695f
more sensible version of het vectors.
...
add vector-length, vector-set!
2010-05-14 11:00:23 -04:00
Sam Tobin-Hochstadt
798a7f2a3c
fix typo
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
f40000c9c7
Fix het vec with strange expected types
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
ec14f2c0b8
Finish het vectors
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
2c03f2223b
mostly done with heterogenous vectors
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
814c02664e
Don't generate extra filters unless they're useful.
2010-05-13 13:37:24 -04:00
Sam Tobin-Hochstadt
a7a56ce856
abstract even when out of bindings
2010-05-12 21:34:18 -04:00
Sam Tobin-Hochstadt
264bf78559
Fix typo
2010-05-12 18:43:55 -04:00
Sam Tobin-Hochstadt
4ceda99700
Updates along useless paths are not errors.
2010-05-12 18:24:19 -04:00
Sam Tobin-Hochstadt
41f0152435
Allow dummy filtersets
2010-05-12 17:31:58 -04:00
Sam Tobin-Hochstadt
dbe9a0f997
debugging
2010-05-12 17:06:04 -04:00
Sam Tobin-Hochstadt
e0c82c8ac6
flatten and filters before using them
2010-05-12 15:10:37 -04:00
Sam Tobin-Hochstadt
e7c8ffb834
Fix contracts.
...
Handle improper formals lists.
2010-05-12 11:53:27 -04:00
Sam Tobin-Hochstadt
c031729e4b
use aux function to avoid generating useless filters
2010-05-10 17:03:21 -04:00
Sam Tobin-Hochstadt
6baef71d57
don't add to identifiers
2010-05-10 16:09:47 -04:00
Sam Tobin-Hochstadt
52c1f41a20
more contract fixes
2010-05-10 15:50:24 -04:00