Commit Graph

251 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
ae0717d970 Move generated contracted provides to a submodule.
This allows the main TR module not to explicitly
depend on the contract library. Each exported name
can be redirected to either the original name (for a
typed client) or to another macro (for an untyped
client) which expands to a `local-require` for the
relevant submodule (named `#%contract-defs`).

Thanks to Matthew for the initial idea and an
implementation in plai-typed that this is based on.
2015-02-08 20:37:04 -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
9bad7f0128 Improve the type for directory-list 2015-01-29 09:55:06 -05:00
Asumu Takikawa
1cbdad12f6 Remove uses of srfi/1 in Typed Racket 2015-01-28 13:31:56 -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
Alex Knauth
d93b387150 more useful types for hasheqv and hasheq too
Closes #16.
2015-01-24 12:37:12 -05:00
Alex Knauth
19455584ab more useful type for hash
still only up to 8 arguments
2015-01-24 12:36:16 -05:00
Asumu Takikawa
066e4356b4 Support type alias definitions in class bodies 2015-01-22 14:22:11 -05:00
Asumu Takikawa
a45fd96224 Remove unneeded unit imports in check-class-unit 2015-01-21 16:19:20 -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
8e63b14f4c Fix contract for contracted TR tests 2015-01-21 13:55:11 -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
Alexis King
b9e600dc1a Add contract generation support for Async-Channelof 2015-01-19 21:11:09 -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
Asumu Takikawa
874f426e9c Remove unnecessary requires in extra-env-lang.
Avoids phase 0 dependencies on TR internals.
2015-01-19 13:41:29 -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
Asumu Takikawa
769cd04b37 Add cond-contract requires to fix contracted tests 2015-01-18 14:20:50 -05:00
David Van Horn
88afb40f60 Parens 2015-01-17 12:54:31 -05:00
Andrew Kent
7633d6d1b8 let/ec swapped out in update 2015-01-17 14:20:30 +05:30
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
e922807837 Fix contract for tc/send 2015-01-14 00:23:28 -05:00
Asumu Takikawa
2c0d4b8aec Undo local-require change from 7afeada73d
Recent changes to contract generation have made this
`local-require` unnecessary. Using `require` is preferable
since `local-require` can interact poorly with submodules.
2015-01-14 00:23:27 -05:00
Andrew Kent
8c5c032520 Merge pull request #10 from andmkent/master
path-type now allows normal internal errors
2015-01-14 06:09:25 +05:30
Asumu Takikawa
ded837ce10 Fix tc/send to accept keyword argument methods
Closes PR 14910
2015-01-12 18:36:35 -05:00
Andrew Kent
fd4f05e64b path-type sep file 2015-01-10 15:11:10 -05:00
Andrew Kent
f3104f383e path-type allow non-subtype struct acc
proper path-type mismatch error
2015-01-10 15:10:05 -05:00
Asumu Takikawa
9bf90a7734 Add more type abbreviations 2015-01-09 13:36:36 -05:00
Asumu Takikawa
de926372fa Loosen contracts for with-tr-contracts unit test 2015-01-09 11:19:57 -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
8a663a5499 Remove unnecessary function argument 2015-01-04 20:33:46 -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
Vincent St-Amour
a943d85375 Preserve more source locations for function definitions. 2015-01-02 20:57:08 -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
Andrew Kent
53d1d8a15d restrict structural recursion 2014-12-22 12:35:15 -05:00
Andrew Kent
683ebb1023 printer fix for paths 2014-12-22 12:34:48 -05:00
Andrew Kent
76effbb423 better Or implied-atomic? & unit tests 2014-12-13 22:13:31 -05:00
Vincent St-Amour
fe3a935d0c Add missing newline for :print-type.
Closes PR 14880.
2014-12-12 16:38:58 -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
44e3cdfb71 Remove extra directories. 2014-12-02 00:53:36 -05:00