Vincent St-Amour
16a75761b0
Make TR-generated identifiers have the same name as original identifiers.
...
Makes error messages nicer, and makes it easier to correlate with source code.
2013-04-04 15:31:51 -04:00
Vincent St-Amour
ff3d785da2
Use locations from typed identifiers for type-generated contracts.
2013-04-04 15:31:51 -04:00
Eric Dobson
76de4d3cca
Fix tc-apply to correctly generate expected ValueDots filters.
...
Closes PR 13649.
2013-04-04 07:45:15 -07:00
Eric Dobson
2b8efd6676
Fix contracts in TR.
2013-04-04 07:43:08 -07:00
Eric Dobson
3d49087ea3
Fix parsing of dotted rest when there is an expected type.
...
Closes PR 13646.
2013-04-01 22:17:32 -07:00
Eric Dobson
0e42a791a7
Typecheck (lambda args body) as (arg1 -> result).
2013-03-23 13:18:05 -07:00
Eric Dobson
714f667cf1
Add more hacky things to make with-handlers typecheck.
...
Closes PR12644.
2013-03-13 22:29:41 -07:00
Eric Dobson
6105ce8b20
Check actual args when form looks like for/list.
2013-03-13 21:45:03 -07:00
Eric Dobson
17cb4fd8d0
Make vector-set! type correctly on complicated inputs.
...
Closes PR13532.
2013-03-11 21:52:11 -07:00
Eric Dobson
1334e8dcc7
Reduce usage of check-below.
...
This pushes almost all uses of check below into tc-expr and
tc-expr/check. This means that the optimizer sees more precise types
and can make more optimizations.
2013-03-08 09:00:58 -08:00
Eric Dobson
1fd21ef640
Avoid TR internal error, by checking shape of args.
2013-03-08 09:00:10 -08:00
Eric Dobson
df581c3e4f
Remove unused argument to tc/rec-lambda/check.
2013-03-08 08:59:57 -08:00
Eric Dobson
d59a600be6
Make kw/opt lambda special checks work with other expected values.
...
Closes PR13544.
2013-03-06 08:48:14 -08:00
Eric Dobson
9f01d26f98
Cleanup kw/opt lambda annotations.
2013-03-06 08:48:14 -08:00
Eric Dobson
22ef10c544
Fix heterogeneous vector typechecking.
2013-03-04 09:36:56 -08:00
Asumu Takikawa
ef08cc41e7
Enable contract and add a purpose statement
2013-02-26 17:38:05 -05:00
Vincent St-Amour
034d7245a4
Filters for comparisons with inifinity.
2013-02-21 10:49:57 -05:00
Eric Dobson
3c31803c19
Add a simple-Union and Bottom, and have code use them.
...
Requires splitting out the match expanders from base-abbrev.
2013-02-14 18:24:52 -05:00
Eric Dobson
b4beabc977
Make tc-let do unions correctly.
2013-02-14 18:24:52 -05:00
Vincent St-Amour
568f401bdc
Don't special case typechecking of =.
...
Its type is more useful than the special typing rule.
2013-02-04 14:32:44 -05:00
Eric Dobson
3c02bb1abb
Type check with expected type when checking recursive loops.
...
Closes PR12678.
2013-01-28 16:03:01 -05:00
Sam Tobin-Hochstadt
e75e494e6a
Fix contracts and expected computation for tc-any-results.
2013-01-24 23:15:06 -05:00
Eric Dobson
a2f33f17e9
Remove tc-results? and other minor improvements.
2013-01-23 18:15:21 -05:00
Eric Dobson
5a43a5c730
Made tc/exprs check its non final terms with the correct type.
...
Closes PR12974.
2013-01-23 16:41:09 -05:00
Eric Dobson
05e53a0de5
Add tc-any-results as new result-type.
2013-01-23 16:41:09 -05:00
Eric Dobson
aac25b42c9
Make AnyValues but don't actually start using it yet.
2013-01-23 16:41:09 -05:00
Eric Dobson
5fe004cd9b
Make TR compile with contracts enabled again.
2013-01-15 12:36:42 -05:00
Eric Dobson
f315880b50
Replace uses of Type? with Type/c?.
2013-01-15 12:23:42 -05:00
Eric Dobson
a5daacd747
Fix register-struct-bindings! to meet correct contract.
...
Please merge to 5.3.2.
2013-01-14 17:30:29 -05:00
Asumu Takikawa
d95be2ed4d
Fix error typo
...
Please merge to 5.3.2
2013-01-11 21:22:12 -05:00
Sam Tobin-Hochstadt
696583582b
Add struct constructor table.
2013-01-11 18:40:20 -05:00
Asumu Takikawa
f577b49a4d
Fix polydots
...
- parsing of polydots values was fixed
- certain polydots error cases are now reported
- the custom application rule for values was fixed
Closes PR 13365
Please merge to 5.3.2
2013-01-09 18:12:45 -05:00
Asumu Takikawa
13b831f0ec
Fix unsound type variable scoping
...
Closes PR 13123
2012-12-13 17:54:58 -05:00
Asumu Takikawa
c7162ec533
Fix TR error for missing mandatory keywords
2012-12-06 12:20:54 -05:00
Asumu Takikawa
5802b42f66
Support path/object reasoning for promises
2012-12-04 18:03:11 -05:00
Asumu Takikawa
42fc3aeda0
Refactor (make argument arity clear)
2012-11-30 17:37:33 -05:00
Asumu Takikawa
904db66f65
Rename control types to be consistent with other types
2012-11-30 17:37:33 -05:00
Sam Tobin-Hochstadt
29d54fb0d0
Starting on control typing.
2012-11-30 17:37:32 -05:00
Vincent St-Amour
e2007abd7a
Heterogenous -> heterogenEous.
...
Found by Ray Racine.
2012-11-20 17:06:51 -05:00
Sam Tobin-Hochstadt
056c1aaff4
Chars are compared with eqv?
.
2012-11-07 12:21:09 -05:00
Sam Tobin-Hochstadt
b3c640870e
Simplify fast path for typechecking simple function applications.
...
Also, minorly revise subtyping code.
2012-10-05 12:12:39 -04:00
Eric Dobson
8a8dc66a19
Replace uses of Type? in contracts with Type/c.
2012-09-27 18:10:38 -04:00
Sam Tobin-Hochstadt
c07852eaf1
Ensure that identifiers defined by struct
are registered as being defined in the correct module.
2012-09-27 16:22:22 -04:00
Eric Dobson
cf4d43c04f
Made free-variance have less special cases.
2012-09-27 16:22:22 -04:00
Eric Dobson
ffe45ecce4
Working covariant applications.
2012-09-27 16:22:22 -04:00
Eric Dobson
40809e768d
WIP on fixing free-variance.
2012-09-27 16:22:22 -04:00
Eric Dobson
e3743b446c
Split adding the struct type and the bindings.
2012-09-27 16:22:22 -04:00
Eric Dobson
40236a3b26
Cleanup define-struct parsing.
2012-09-27 16:22:22 -04:00
Eric Dobson
8ea7502c12
More cleanup of struct type registration.
2012-09-27 16:22:21 -04:00
Eric Dobson
d84391b695
More struct work
2012-09-27 16:22:21 -04:00