Asumu Takikawa
20f3badc98
Enable prefab support correctly for define-struct
...
I had forgotten to adjust the define-struct macro to work
like the struct macro for the #:prefab keyword, which made
TR think prefabs were ordinary structs.
Closes GH issue #188
2015-08-21 16:38:04 -04:00
AlexKnauth
0037a0277f
allow values with define-new-subtype types as functions
2015-08-15 19:00:35 -05:00
AlexKnauth
efb877dbfb
fix inference with define-new-subtype
2015-08-15 14:36:45 -05:00
AlexKnauth
f8cc9e8dcd
fix issue #169
2015-08-14 21:42:20 -05:00
Asumu Takikawa
4f050888e2
Export let*-values from TR correctly
...
Closes PR 14997
2015-08-12 12:16:05 -04:00
Asumu Takikawa
6512b52b1d
Fix polymorphic recursion check for type aliases
...
The old check was broken for cases with type constructors
with more than one type argument and was also too conservative
in some cases (e.g., when one cycle refers to another cycle of
aliases in a non-recursive manner).
The new check is still conservative, but it allows more types
than before.
Closes GH issue #157
2015-08-07 19:05:13 -04:00
Vincent St-Amour
f6779f2cfa
unstable/macro-testing -> syntax/macro-testing
2015-08-05 13:13:50 -05:00
AlexKnauth
cf4a033872
fix issue #166
2015-08-03 18:36:14 -05:00
AlexKnauth
0c1d58a07b
handle define-new-subtype in earlier phase
2015-07-30 23:24:17 -04:00
AlexKnauth
a58c2e317f
add define-new-subtype
...
inspired by haskell newtypes
http://www.mail-archive.com/racket-users@googlegroups.com/msg27118.html
https://www.haskell.org/tutorial/moretypes.html
2015-07-30 01:39:06 -04:00
Asumu Takikawa
d1e17b04e8
Add tests for PR 15026
...
Fixed on HEAD, possibly due to new expander
Closes PR 15026
2015-07-29 14:29:18 -04:00
Asumu Takikawa
3fffeeac5d
Add a test for PR 14521
...
Started working since v6.2. Possibly due to the new macro
expander.
Closes PR 14521.
2015-07-29 13:55:49 -04:00
Sam Tobin-Hochstadt
9a2b74dc33
Generate trivial constraints for missing type variables.
...
If the type variable isn't mentioned anywhere, then just
pick `Any` as its substitution.
Fixes #152 .
2015-06-23 16:08:23 -04:00
Asumu Takikawa
0892e23892
Resolve expected type in tc-lambda-unit
...
Closes #144
2015-06-10 12:23:39 -04:00
Alexis King
a096857a88
Disable the #{} reader macro if a dispatch macro already exists on #\{
2015-05-14 14:35:30 -07:00
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