Commit Graph

4531 Commits

Author SHA1 Message Date
Asumu Takikawa
8931accc7c Add missing types for Frame% 2015-02-23 17:19:16 -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
Asumu Takikawa
5b237018ef Add a #:var argument to ->acc
Allows a name reference for Path objects to be specified
for ->acc function types.
2015-02-23 15:38:28 -05:00
Asumu Takikawa
fed9ac40eb Adjust the recursive type alias registration pass
Instead of registering aliases before we find out if they are
recursive or not, register them after that information is found.
That avoids spurious aliases that end up in the type name
environment without the need for a `remove-type-name` operation.
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
39446d64d5 Fix internal error format string in init-envs 2015-02-17 18:29:12 -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
d0a7c911df Improve plambda-handling in check-class-unit
Simplify the property copying code for method processing.
2015-02-16 02:42:57 -05:00
Sam Tobin-Hochstadt
e4dbc4757f Merge pull request #27 from lyons/add_missing_types_to_uri_codec
Add missing type signatures for net/uri-codec
2015-02-13 19:30:06 -05:00
Kat Lyons
47521d263e Add missing type signatures for net/uri-codec 2015-02-13 15:48:16 -07:00
Asumu Takikawa
d77044f902 Minor refactoring to use #:when in a match clause 2015-02-13 00:12:14 -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
83dc3884aa Fix accessor type for with-tr-contracts test 2015-02-12 23:44: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
31d6c04608 Use Univ instead of (make-Univ) 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
177d1a7f68 Adjust type of dynamic-require (returns 1 value)
The implementation (and now docs) of dynamic-require
specifies that it can only return a single value, even
when the required binding is syntax.
2015-02-12 14:25:44 -05:00
Asumu Takikawa
7ae1247539 Add missing types for Ref. 18.2.3 functions 2015-02-11 14:27:52 -05:00
Asumu Takikawa
917ecaae9b Fix type for current-library-collection-paths
Closes PR 14975
2015-02-11 14:27:40 -05:00
Sam Tobin-Hochstadt
a4252d47f4 Reduce some duplication in these definitions. 2015-02-09 17:43:49 -05:00
Alexis King
400485a738 Add rackunit shortcut test declarations, fixes PR 14917
Closes #23.
2015-02-09 17:33:59 -05:00
Alexis King
ece97e5e5c Add typed/srfi/19 to typed-racket-more
Closes #22.
2015-02-09 17:33:14 -05:00
Sam Tobin-Hochstadt
13614ae5c2 Always use rename-out in generated provides.
Since rename-transformers can generate free-id=? names, we could
end up providing two things with the same name.

Fixes PR 14972.
2015-02-09 16:40:39 -05:00
Sam Tobin-Hochstadt
bafc7d93e7 Raise proper errors when there are too many contract constraints.
Fixes PR 14890.

This could potentially be relaxed if needed, but this addresses
the immediate issue.
2015-02-09 16:37:32 -05:00
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
8ebbd3dfee GUI type fixes
Due to either typos in documentation, adjustment to make
contract generation easier, or where a more precise type than
documented is needed for real uses.
2015-02-03 16:59:46 -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
Asumu Takikawa
42d841ce11 Add some missing methods in GUI types 2015-02-02 01:37:37 -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
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
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
Alexis King
b9e600dc1a Add contract generation support for Async-Channelof 2015-01-19 21:11:09 -05:00