Eric Dobson
a2f33f17e9
Remove tc-results? and other minor improvements.
2013-01-23 18:15:21 -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
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
5802b42f66
Support path/object reasoning for promises
2012-12-04 18:03:11 -05:00
Asumu Takikawa
04e8e33313
Provide a more informative internal error
2012-12-04 16:10:39 -05:00
Ryan Culpepper
fd7d8a412c
move lazy-require to racket/lazy-require
2012-12-03 19:28:12 -05:00
Asumu Takikawa
904db66f65
Rename control types to be consistent with other types
2012-11-30 17:37:33 -05:00
Asumu Takikawa
41b59cb46a
Add Top types for prompt tags and mark keys
2012-11-30 17:37:32 -05:00
Asumu Takikawa
4b5d6e71fd
Typecheck prompt tags
2012-11-30 17:37:32 -05:00
Sam Tobin-Hochstadt
29d54fb0d0
Starting on control typing.
2012-11-30 17:37:32 -05:00
Asumu Takikawa
b4dd3b5e1d
Fail gracefully on TR struct arity errors
...
Closes PR 13209
2012-11-20 17:47:13 -05:00
Vincent St-Amour
e2007abd7a
Heterogenous -> heterogenEous.
...
Found by Ray Racine.
2012-11-20 17:06:51 -05:00
Asumu Takikawa
d22532db16
Fix Custodian type
2012-11-10 11:12:06 -05:00
Sam Tobin-Hochstadt
0a0ac35ee6
Correctly bind place?
for contract generation.
2012-11-07 12:21:09 -05:00
Sam Tobin-Hochstadt
f2fd47905f
Fix binding of udp?
.
2012-10-31 21:39:16 -04:00
Sam Tobin-Hochstadt
5861bf0b9f
Make Typed Racket name printing more deterministic.
2012-10-28 13:55:02 -04:00
Sam Tobin-Hochstadt
962f2472e1
Revamp handling of Any
as a contract.
...
The contract now has two major differences:
- It raises an error when it would have to wrap.
- It uses chaperones to delay errors as long as possible
In general, using `Any` as a type when exporting to untyped
code will now just work, unless the untyped code tries to
communicate values back to the typed side, in which case an
immediate error will be raised.
Much of the implementation comes from the membrane design
from [Strickland et al, OOPSLA 2012].
2012-10-05 12:39:11 -04: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
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
12233600c1
Fix -struct to use the right number of arguments to make-Struct.
2012-09-27 16:22:21 -04:00
Eric Dobson
2a8512ed72
Removed unused fields in Struct
2012-09-27 16:22:21 -04:00
Sam Tobin-Hochstadt
eed93825ab
Track mutable variables across modules.
2012-08-31 17:45:11 -04:00
Sam Tobin-Hochstadt
ab5403d1ed
Simplifying case-> to union is only safe for 1-argument functions.
...
Closes PR 13002.
2012-08-31 10:27:51 -04:00
Eric Dobson
e9f209977b
Fix typechecking of polymorphic structs with parent types.
...
Closes PR12998.
2012-08-22 16:50:49 -04:00
Eric Dobson
df6562c1de
Make promises like every other TR container.
2012-08-14 16:16:07 -04:00
Eric Dobson
ac493a6f44
Replaced infer-dummy with lazy-require.
2012-08-14 16:04:51 -04:00
Eric Dobson
9ef80edfef
Fix internal error for untyped kw functions.
...
Closes PR12932.
Closes PR12922.
2012-08-14 16:04:51 -04:00
Eric Dobson
3b6168de7d
Fix substitute and add test case.
2012-08-14 14:44:55 -04:00
Eric Dobson
2e3965e777
Make simple substitution happen all at once.
...
Closes pr12920.
2012-08-14 14:44:55 -04:00
Sam Tobin-Hochstadt
fddd5c63ff
Minor printer refactoring.
2012-08-14 09:58:01 -04:00
Eric Dobson
cac47c0427
Make TR debug printer work again.
2012-08-14 09:45:01 -04:00
Eric Dobson
c9afe15f56
Cleanup TR printer to use lazy-require.
2012-08-14 09:45:01 -04:00
Vincent St-Amour
4b30d052b0
Allow multi-line printing of case-> types.
...
Currently only used in :print-type. Everywhere else, types are pruned.
2012-08-07 16:31:52 -04:00
Sam Tobin-Hochstadt
7eaae20f41
Add back some special cases.
2012-08-07 15:51:02 -04:00
Eric Dobson
21598297a7
Removed *Un from abbrev.rkt, replaced it with Un from union.rkt.
2012-08-07 15:50:50 -04:00
Eric Dobson
9ed360bb5e
Removed convenience.rkt from typed racket.
2012-08-07 15:50:50 -04:00
Eric Dobson
56fd9e6321
Rearange type code, so that abbrev.rkt can depend on union.rkt.
...
Split out base-abbrev.rkt so that subtype is not dependent on abbrev.rkt.
Remove unused code in numeric-tower.rkt so that it is now a dependent of
abbrev.rkt, which allows the body of convenience.rkt to be merged back in.
Remove special casing for union.rkt and extraneous subtyping checks.
Remove union-maker.
2012-08-07 15:50:50 -04:00
Eric Dobson
6dbc054e41
Replaced references to abbrev.rkt with convenience.rkt.
...
Skipped this for subtype.rkt, because of a require loop caused by
lazy-require.
2012-08-07 15:50:50 -04:00
Vincent St-Amour
a6d5a98b61
Include NaN in all floating-point types.
...
Makes more closure properties hold, but weakens occurrence typing for
some comparisons involving flonums.
2012-08-03 14:21:44 -04:00
Sam Tobin-Hochstadt
4a90c6c1fe
Ensure that structs don't overlap with simple values.
...
Reported by Ray Racine.
Please merge to release.
2012-07-20 13:01:32 -04:00
Eric Dobson
3dfd4c52a9
Fix bad contract and clashing provides in TR when contracts are enabled.
2012-07-15 19:21:25 -04:00
Eric Dobson
030e56311e
Make TR compile cleanly with contracts enabled.
...
Added a couple of contracts and fixed some others up as well.
The two bugs were that with-contract was not imported, and that
subtype could be called with Values and Results.
2012-07-15 19:21:11 -04:00
Sam Tobin-Hochstadt
9e097866bf
Vector fixes.
...
- Allow indexing into a VectorTop, with result `Any`.
- Don't use special typing rules for applications when the operator
has an annotation or instantiation.
Closes PR 12887.
Closes PR 12888.
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
418a0c311b
Print StructTop
nicely.
...
Related to PR 12903.
2012-07-14 18:41:42 -04:00