Sam Tobin-Hochstadt
3fd9df03f7
Fix types of system
etc for new keyword arguments.
...
This requires extending the ->optkey type constructor to support rest
arguments, and fixing the keyword function type generation code.
Testing is still limited because there's no parsing for such types.
That will be handled in a later commit.
2013-04-18 21:01:56 -04:00
Eric Dobson
b8ab1334d9
Terminate typechecking on cyclic lists.
...
Closes PR 13687.
2013-04-13 20:23:19 -07:00
Eric Dobson
17b9ed0a75
Fix prefix-of.
...
Closes PR 13448.
2013-04-04 07:42:45 -07:00
Eric Dobson
0e0f1cd670
Adds subtyping for filters, and fixes -FS to be more precise.
...
Closes PR 12817.
2013-04-03 09:25:28 -07:00
Eric Dobson
8d080b74cb
Fix Struct-Type-Property.
...
Closes PR 13593.
2013-03-23 08:24:05 -07:00
Eli Barzilay
af6be85ff5
Fix lots of indentation mistakes.
...
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Eric Dobson
71d6189132
Cleanup of subtyping, additional comments, and improved short circuting.
2013-03-13 22:59:27 -07:00
Eric Dobson
75f89107b1
Make PolyDots be subtypes even if they have different fixed arguments.
2013-03-13 22:29:41 -07:00
Eric Dobson
6335de099e
Make PolyDots actually subtype correctly.
2013-03-13 22:29:41 -07:00
Vincent St-Amour
2846c17cb4
Fix the fix to TR contracts.
2013-02-25 20:10:14 -05:00
Vincent St-Amour
034aacafab
Fix TR contracts.
2013-02-25 19:25:39 -05:00
Eric Dobson
f6df93ed96
Make mutable lists be sequences.
2013-02-22 21:01:21 -08:00
Vincent St-Amour
12aaa229a3
Fix subtyping for Negative-Single-Flonum.
2013-02-21 10:49:57 -05:00
Eric Dobson
18d90115e7
Make naturals be a sequence type.
2013-02-20 21:25:02 -08:00
Eric Dobson
4f9f00680e
Make (Set a) a subtype of (Sequenceof a).
...
Closes PR13485.
Closes PR12615.
2013-02-20 21:25:02 -08:00
Eric Dobson
a7bc758505
Fix subtyping of invariant data structures.
...
Closes PR13521.
2013-02-20 21:25:02 -08:00
Eric Dobson
ddb8e7f807
Add subtyping for Parameters.
...
Closes PR11992.
This required moving more stuff in to base-abbrev so that it could be
used in subtype.
2013-02-20 21:25:02 -08:00
Eric Dobson
5ed26e806b
Make lists with minimum lengths be a subtype of sequences.
2013-02-14 18:24:52 -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
19241c0979
Make overlap more precise.
2013-02-08 11:19:10 -05:00
Vincent St-Amour
830db3c908
Add extra tests and warning about -PosIntNotFixnum.
2013-02-07 15:19:42 -05:00
Eric Dobson
9030da217b
Make static single flonum checks correct.
...
Closes PR13499.
2013-02-07 15:19:42 -05:00
Eric Dobson
9e8cc6af3c
Add types for imaginary numbers and fix type of exact? and inexact?.
2013-02-04 14:32:44 -05:00
Eric Dobson
13ff5883fe
Do not update subtype and resolve caches when subtyping.
...
Closes PR13412.
2013-01-28 15:35:56 -05:00
Sam Tobin-Hochstadt
492bda2305
Avoid using unsafe structure access.
...
Moral: a little temporary speed should never be bought at the cost of safety.
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
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