Asumu Takikawa
92d1dd1c5e
Add sealing contracts for row polymorphic types
...
This enables contract generation in the negative
direction (untyped->typed) for row polymorphic types
(basically mixin types).
Depends on `class-seal` and `class-unseal` in
the racket/class library.
2015-05-13 20:52:32 -04:00
Asumu Takikawa
1999d0251b
Allow #lang typed/racket/gui and add base module
...
This aligns the library structure of typed/racket/gui
to racket/gui.
2015-03-12 17:27:59 -04:00
Asumu Takikawa
8e6710438f
Support prefabs for unsafe-struct-ref
2015-03-10 15:18:02 -04:00
Asumu Takikawa
5d708ab53f
Add typechecking for prefab structs
...
Adds a new Prefab type constructor along with support for
the use of `struct` with the #:prefab keyword.
2015-03-10 15:14:51 -04:00
Sam Tobin-Hochstadt
a3e25231a6
Look up unrenamed versions of type aliases as well.
...
Fixes bug reported by Alexander Knauth.
2015-03-06 12:13:40 -05:00
Sam Tobin-Hochstadt
7a67243d68
Fix contract provide fixup to handle contracts at the beginning.
2015-03-06 09:41:29 -05:00
Matthew Flatt
011649a654
move contract submodules to start of enclosing module
...
Putting the contract submodules early enough allows them to be used
for `module*` submodules.
Repairs a problem reported by Alexander:
http://lists.racket-lang.org/users/archive/2015-March/066164.html
2015-03-06 09:41:29 -05:00
Alexis King
c79b61a751
Adjust named-let to use the return type annotation whenever possible
...
Fixes #43
2015-03-04 15:17:35 -08:00
Asumu Takikawa
b8807f706c
Fix a test that violated opaque class/c
2015-03-04 16:26:35 -05:00
Asumu Takikawa
8d0c352dcc
Add a custom object contract for use in TR
...
This corresponds to the more strict object contracts
from the OOPSLA paper. Also use `object/c-opaque` in
TR contract generation
2015-03-04 16:26:35 -05:00
Alexis King
3f67cfea7c
Use contract-neg-party to accurately handle contracted applications
...
Fixes #38
2015-03-03 16:15:09 -08:00
Asumu Takikawa
165a2afa5b
Fix augment/inner contract generation
2015-02-28 14:02:57 -05:00
Asumu Takikawa
6a855f664c
Reorganize type->contract for polymorphic methods
2015-02-27 13:37:07 -05:00
Asumu Takikawa
5180e601db
Adjust the fix in 619d6945c3
...
For unions of multiple type aliases the new placeholder
would cause union collapsing incorrectly. Put an uninterned
symbol in the placeholder types to avoid this.
2015-02-17 14:00:07 -05:00
Alexis King
619d6945c3
Prevent type alias placeholders from collapsing in unions with symbols
...
Fixes #26
2015-02-16 13:22:35 -05:00
Asumu Takikawa
e1ad989d18
Move GUI tests to a separate folder
...
These don't work as ordinary integration tests because
racket/gui/base cannot be instantiated multiple times.
The test driver will be modified later to run these
differently to avoid multiple instantiation.
2015-01-20 10:47:53 -05:00
Asumu Takikawa
8bc58ba94c
Don't show GUI frame for Esquire test
2015-01-20 10:47:53 -05:00
Asumu Takikawa
455bc7664b
Fix type dictionary entries for overriden methods
...
Add typed Racket Esquire as a test case
2015-01-19 16:12:31 -05:00
Sam Tobin-Hochstadt
5ba9633e78
Improve hash-table overlap.
...
Thanks to Alex Knauth for the code and Jordan Johnson for the test case.
2015-01-19 09:48:50 -05:00
Andrew Kent
e7d61bd982
fixed struct field updates
2015-01-14 15:32:34 +05:30
Andrew Kent
e1b8eff1f9
initial let-aliasing addition
2014-12-22 12:35:30 -05:00
Vincent St-Amour
29e4be449b
Fix more collection paths.
2014-12-18 09:30:17 -05:00
Vincent St-Amour
134f793ccc
Reduce directory nesting for tests.
2014-12-16 10:07:25 -05:00