Commit Graph

36 Commits

Author SHA1 Message Date
Vincent St-Amour
aae17a0bc0 in-pairs -> in-dict 2015-08-13 10:41:15 -05:00
Vincent St-Amour
b6362e7eb3 unstable/sequence -> racket/sequence
And move to TR one of the functions that didn't make it.
2015-08-13 10:41:15 -05: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
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
Vincent St-Amour
f35b5a9182 check-duplicate -> check-duplicates 2015-07-20 16:17:39 -05:00
Vincent St-Amour
72fb041211 Replace uses of unstable/function and /list with the equivalent core libs. 2015-07-20 16:17:39 -05:00
Asumu Takikawa
bc3443b393 Change Module-Path type to accommodate submodules
Closes #84
2015-06-10 12:21:51 -04:00
Eric Dobson
d4eaa47b27 Make subtype use hash of hashs.
This has a 1% improvement on new-metrics.rkt by my measurements.
2015-05-19 20:37:41 -07:00
Andrew Kent
cbbf5536d8 no objects for mutated private class fields
tidy up ->acc
2015-04-08 17:53:00 -04:00
Asumu Takikawa
7bf4314af4 Simplify Name type representation
Avoids contract errors by using a simpler representation
and sticking with it throughout.
2015-04-08 11:23:48 -04:00
Eric Dobson
a33b27a3c9 Remove many cases of = that are unnecessary. 2015-04-05 19:10:51 -07:00
Eric Dobson
be225976d3 Make subtype work with restricted filters.
Closes PR 15025.
2015-04-05 19:07:12 -07:00
Asumu Takikawa
7b5478e0bc Make Place-Channel <: (Evtof Any) 2015-04-02 11:00:25 -04:00
Asumu Takikawa
8acc86bb9b Add subtyping for types inside filters
This makes a type like

  (-> Any Boolean : #:+ Integer)

a subtype of a type like

  (-> Any Boolean : #:+ Number)

For not filters, the direction is reversed.
2015-04-01 18:54:00 -04:00
Eric Dobson
889d96ca78 Strengthen infinity checks in comparison operations.
This adds checks for infinity when comparing against reals and accounts
for NaNs.
2015-03-30 09:25:48 -07:00
Sam Tobin-Hochstadt
0dce19e4bf Reduce more dependencies.
Use `syntax/parse/pre` (checked with @rmculpepper).
Use new `begin-encourage-inline` submodule.
Remove use of `match` in TR runtime-loaded code.
2015-03-19 21:41:58 -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
Andrew Kent
ea942c2110 fixed base/value overlap bug 2015-03-03 23:20:15 -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
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
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
8402ee1635 Add FSemaphores to Typed Racket 2015-02-02 11:23:09 -05:00
Alexis King
7122d93de8 Make Path a subtype of Module-Path
Closes #20.
2015-01-31 09:33:50 -05:00
Asumu Takikawa
1cbdad12f6 Remove uses of srfi/1 in Typed Racket 2015-01-28 13:31:56 -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
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
Andrew Kent
fd4f05e64b path-type sep file 2015-01-10 15:11:10 -05:00
Asumu Takikawa
9bf90a7734 Add more type abbreviations 2015-01-09 13:36: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
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
Sam Tobin-Hochstadt
44e3cdfb71 Remove extra directories. 2014-12-02 00:53:36 -05:00