Commit Graph

255 Commits

Author SHA1 Message Date
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
Sam Tobin-Hochstadt
d75232baa0 fix contract error, use the same contract for drest everywhere 2010-05-10 15:42:45 -04:00
Sam Tobin-Hochstadt
8461045e8c avoid trying to reconstruct bogus arrow type, use dummy instead 2010-05-10 15:42:23 -04:00
Sam Tobin-Hochstadt
b1a49470ee fix `implied-atomic?' 2010-05-10 11:51:18 -04:00
Sam Tobin-Hochstadt
62af50867a produce the correct type 2010-05-05 17:50:20 -04:00
Sam Tobin-Hochstadt
1146ffa76d Merge branch 'master' into samth/new-logic2
Conflicts:
	collects/typed-scheme/private/parse-type.rkt
	collects/typed-scheme/typecheck/tc-app.rkt
2010-05-05 13:35:29 -04:00
Sam Tobin-Hochstadt
087c5129e3 Require '#%paramz at the correct phase (thanks ryan) 2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
4984345657 handle full generality of extend-parameterization 2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
996405af9c fix problem reported by Sigrid on plt-scheme 2010-05-03 13:15:19 -04:00
Sam Tobin-Hochstadt
abc83496b3 fix literal hashtables and pairs 2010-05-03 11:31:27 -04:00