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
Asumu Takikawa
4866ff825b
Increase with-tr-contracts.rkt timeout
2015-03-05 22:23:58 -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
33543ce054
Use absent
in some row poly class contracts
...
When exporting row polymorphic functions from TR, just
use absent clauses to ensure that TR won't accidentally
try to add pre-existing fields/methods. No sealing is
needed because the typechecker enforces parameteric use
of the class.
2015-03-04 16:26:35 -05: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
Asumu Takikawa
e2fd3b6653
Enable opaque class contracts in TR
2015-03-04 13:28:06 -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
ec15f58542
Basic support for contract gen for PolyRow types
...
Currently only supports the typed export side. The other
way needs contract features that haven't been merged yet.
2015-02-27 15:19:30 -05:00
Asumu Takikawa
6a855f664c
Reorganize type->contract for polymorphic methods
2015-02-27 13:37:07 -05:00
Asumu Takikawa
78fc0f19e7
Improve types for private field accessors
...
Enables better occurrence typing for private fields
2015-02-23 15:38:28 -05:00
Alexis King
425c584a30
Handles expansion of internal forms inside splicing-syntax-parameterize
...
Fixes PR 14973
Closes #24 .
2015-02-21 15:40:23 -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
52cc284d87
Better error msg for structs with the same name
...
Thanks to Max for the suggestion
2015-02-13 00:10:19 -05:00
Asumu Takikawa
888893d81b
Work around type alias printing limitations
...
Type aliases in internal definition contexts can affect
type printing outside of the context, which can cause
interference in unit tests.
This only seems to happen when running with the TR test
driver.
2015-02-12 16:31:18 -05:00
Asumu Takikawa
62c86d5ddd
Added occurrence typing for private fields.
...
This also tracks mutation of private fields to ensure that only
non-mutated field types are allowed to be refined.
2015-02-12 16:31:18 -05:00
Asumu Takikawa
6c09d52b2e
Generalize method handling in TR
...
Previously, TR only recognized a subset of the syntax that
the class macro accepts for method definitions (and errored
unhelpfully on other cases). Though that subset was sufficient
for most methods, macros will sometimes produce unusual forms.
2015-02-08 18:29:37 -05:00
Vincent St-Amour
787df49140
Make type of division more lenient.
...
Thanks to John Clements for the report.
2015-02-04 14:06:54 -05:00
Asumu Takikawa
8402ee1635
Add FSemaphores to Typed Racket
2015-02-02 11:23:09 -05:00
Asumu Takikawa
e85cc55f6f
Add types for call-with-semaphore
2015-02-02 02:54:01 -05:00
Alexis King
032a11fdae
Add support for use-dir? param of in-directory
...
Closes #21 .
2015-01-31 09:34:01 -05:00
Alexis King
7122d93de8
Make Path a subtype of Module-Path
...
Closes #20 .
2015-01-31 09:33:50 -05:00
Alexis King
8c471bb2a3
Add tests for directory-list #:build? argument
...
Closes #18 .
2015-01-29 09:55:17 -05:00
Vincent St-Amour
ef35d21a31
Refine type of current-inexact-milliseconds.
...
Thanks to Alex Knauth for the report.
2015-01-27 20:30:28 -05:00
Asumu Takikawa
066e4356b4
Support type alias definitions in class bodies
2015-01-22 14:22:11 -05:00
Asumu Takikawa
5c090ba686
Fix new error messages for class/object types
...
Closes PR 14942
2015-01-21 13:55:19 -05:00
Asumu Takikawa
4ab7ba2578
Improve check-below errors for classes/objects
...
Also fix a type-checker bug that the tests for the
error messages uncovered.
2015-01-20 19:58:25 -05:00
Asumu Takikawa
b9aca78cf0
Update compile-omit-paths for TR tests
2015-01-20 14:23:38 -05:00
Asumu Takikawa
0b8c29b98e
Fix TR's async-channel-contract test
2015-01-20 14:23:38 -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
Sam Tobin-Hochstadt
9a39c3e793
Add for/set
and for*/set
to Typed Racket.
2015-01-16 09:43:37 -05:00
Andrew Kent
e7d61bd982
fixed struct field updates
2015-01-14 15:32:34 +05:30
Asumu Takikawa
ded837ce10
Fix tc/send to accept keyword argument methods
...
Closes PR 14910
2015-01-12 18:36:35 -05:00
Asumu Takikawa
864b0ad5fc
Add more authors to typed-racket-test pkg
2015-01-09 18:08:36 -05:00
Andrew Kent
3ed6b464e7
overlap tests for Seq and Evt, minor overlap fix
2015-01-06 15:01:16 -05:00
Andrew Kent
16db5ecc78
dont let-alias type vars, better overlap & restrict
2015-01-06 13:51:40 -05:00
Andrew Kent
dc2ce38aef
Merge pull request #5 from andmkent/master
...
fixed mutation let-aliasing bug
2015-01-05 09:15:57 -05:00
Asumu Takikawa
dbaebdd305
Propagate expected types better for private fields
...
Closes PR 14911
2015-01-04 19:39:14 -05:00
Andrew Kent
9d41048747
fixed mutation let-aliasing bug
...
let-aliasing initially forgot to check if a variable that might act as
an alias was ever mutated. fixed by disallowing a mutated variable to
act as an alias.
2015-01-03 23:03:45 -05:00
Asumu Takikawa
791a16e54f
Fix method definitions with lambda/case-lambda
...
Closes PR 14904
2015-01-01 01:59:37 -05:00
Asumu Takikawa
6059fb481b
Check expected type before calling tc/funapp1
...
This compensates for a change in commit bb3f446186
that made the possible-domains function more permissive
(possibly returning results that are inconsistent with the
expected type).
Closes PR 14889
2015-01-01 00:03:23 -05:00
Asumu Takikawa
643c20afdb
Add missing contract generation error cases
...
Functions with dotted values or AnyValues in the return type
aren't yet supported for contract generation.
Related to PR 14894
2014-12-27 05:31:46 -05:00
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
Asumu Takikawa
3e45f258be
Adjust TR test package dependencies
2014-12-16 16:25:37 -05:00
Vincent St-Amour
67bb30da0b
Fix collection references to use the new name.
2014-12-16 14:15:54 -05:00
Vincent St-Amour
134f793ccc
Reduce directory nesting for tests.
2014-12-16 10:07:25 -05:00
Andrew Kent
76effbb423
better Or implied-atomic? & unit tests
2014-12-13 22:13:31 -05:00
Sam Tobin-Hochstadt
933e571125
Don't compare non-identifiers with free-id=?
.
...
Closes PR 14877.
2014-12-10 17:53:46 -05:00
Sam Tobin-Hochstadt
b5172405ff
Actually fix the tests.
2014-12-08 10:03:34 -05:00
Sam Tobin-Hochstadt
8b3ed72205
Increase test timeouts for DrDr.
2014-12-07 10:01:19 -05:00
Sam Tobin-Hochstadt
44e3cdfb71
Remove extra directories.
2014-12-02 00:53:36 -05:00