Commit Graph

4099 Commits

Author SHA1 Message Date
Asumu Takikawa
7b5478e0bc Make Place-Channel <: (Evtof Any) 2015-04-02 11:00:25 -04:00
Asumu Takikawa
c70910aaa0 Fix type restriction in values->tc-results
Previously the restriction didn't account for traversing
the object type with the given path. This also relies on
the previous commit that adds subtyping on filters.

(because this change seems to introduce filters which
 only differ by an unrolling of a recursive type, but
 the old subtyping only worked for identical types)
2015-04-02 10:58:45 -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
Eric Dobson
3889036b12 Simplify types for positive? and negative?. 2015-03-30 09:12:51 -07:00
Eric Dobson
5de22c80f7 Make values->tc-results restrict to the original type of the object. 2015-03-30 09:12:25 -07:00
Eric Dobson
e5ea1f4bb6 Make zero? sound with regards to NaN. 2015-03-28 14:08:20 -07:00
Asumu Takikawa
8c329d4ddf Fill in types for GUI ref section 4 2015-03-27 01:02:36 -04:00
Asumu Takikawa
f82ceece33 Add other missing exports for typed/racket/draw 2015-03-27 00:13:15 -04:00
Asumu Takikawa
f758a6ed42 Add record-dc% in typed/racket/draw 2015-03-26 23:07:07 -04:00
Sam Tobin-Hochstadt
718bc82b5d Avoid providing def-redirect. 2015-03-26 12:23:48 -04:00
Alexis King
85cbafc534 Fix the type of current-https-protocol in typed/net/url-connect 2015-03-26 09:06:16 -07:00
Alexis King
b54d8dc04a Strengthen the types for member, memv, memq, and memf
Fixes #61.
2015-03-25 16:44:42 -07:00
Alexis King
d2745f89eb Modernize typed/net/url 2015-03-25 16:06:52 -07:00
Vincent St-Amour
b3bdb40ab7 Optimize pair operations, even in the absence of syntactic pair types. 2015-03-24 16:47:06 -04:00
Alexis King
2a4ce892ae Merge branch 'integral-to-inexact' 2015-03-20 19:43:04 -07:00
Alexis King
aab2d9efcf Include more specific types for integers converted to floats 2015-03-19 18:54:11 -07:00
Sam Tobin-Hochstadt
ee7bed777b Add dependency on 6.2.0.2.
This is definitely needed for the new `begin-encourage-inline`
submodule, but also needed for various other changes (such as
`dynamic-object/c`).
2015-03-19 21:45:15 -04: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
Sam Tobin-Hochstadt
4709536653 Split prims.rkt to reduce dependencies.
There are several new files: one for structure prims, one for
annotation-related prims, one for contract related ones. The prims-contract
file uses trickery with submodules to avoid a direct dependency
on `racket/contract`.

Additionally, the rewritten versions of `for/set` et al now use
a submodule to avoid a direct dependency on `racket/set`.
2015-03-18 18:47:49 -04:00
Sam Tobin-Hochstadt
333a8b9bd7 Remove long lines, and inline vector-copy to remove dependency. 2015-03-18 18:23:56 -04:00
Asumu Takikawa
7a09bac1e3 Handle more cases for opt-arg function contracts
Allow more cases that are allowed for ordinary function
contracts and explicitly error instead of internal errors
for other cases.

Closes Github Issue #50
2015-03-17 15:52:21 -04:00
Asumu Takikawa
1e44bee956 Fix contract test form for the failure case
This hadn't been updated for recent contract changes but
hadn't been noticed since it only breaks on failing tests.
2015-03-17 15:52:21 -04:00
Sam Tobin-Hochstadt
8288aaa160 Merge pull request #49 from mromyers/master
Make order-of-magnitude more specific
2015-03-16 11:40:49 -04:00
TwoPoint7182818
911036c2a6 Make order-of-magnitude more specific
(order-of-magnitude n) is only negative if n < 1. Hence it is non-negative for all positive integers.
2015-03-15 20:48:46 -04:00
Alexis King
193f3c49c6 Fix the types for pin-over and pin-under in typed/pict 2015-03-13 16:25:33 -07:00
Asumu Takikawa
8106d318f1 Fix first-order check for TR's opaque object/c
Closes PR 15003
2015-03-13 16:52:34 -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
197cdeac9b Fix contract, remove comment signature 2015-03-12 01:35:54 -04:00
Asumu Takikawa
61b8e098e6 Add doc examples for the struct form 2015-03-11 13:41:14 -04:00
Asumu Takikawa
238e76b63f Update struct docs for #:prefab 2015-03-11 13:32:16 -04:00
Asumu Takikawa
d19bed0e8b Fix inaccurate data definition comment 2015-03-10 15:18:03 -04:00
Asumu Takikawa
8d05202361 Add docs for Prefab types 2015-03-10 15:18:02 -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
Asumu Takikawa
50f2271917 Fix minor contract violation in REPL messages 2015-03-09 15:59:02 -04:00
Asumu Takikawa
c00cc17e07 Add cond-contracts to name-env functions
This helped for debugging, especially since some of
the comments were inaccurate. Removed contract comments
that aren't more specific than the code contracts.
2015-03-09 15:59:02 -04:00
Asumu Takikawa
57a76517fc Enable environment extension in unit tests
This allows a unit test like tc-e to extend the lexical
type environment when checking the test expression.
2015-03-09 15:59:02 -04:00
Asumu Takikawa
fb0c96e7f0 Forgot to add this change to the previous commit
(put requires in the right phase)
2015-03-09 15:57:22 -04:00
Asumu Takikawa
96e741dc1b Add srcloc instead of a quoted syntax for casts 2015-03-06 16:09:31 -05: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
Asumu Takikawa
4866ff825b Increase with-tr-contracts.rkt timeout 2015-03-05 22:23:58 -05:00
Alexis King
9ad485e9d6 Update typed/pict to include functions that require the class system 2015-03-04 15:24:33 -08: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
d30a824f02 Simplify typed/mred and typed/framework/framework
These now just re-export typed/racket/gui and typed/framework
respectively. They are kept mainly for backwards compatibility.
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