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
Asumu Takikawa
e2fd3b6653
Enable opaque class contracts in TR
2015-03-04 13:28:06 -05:00
Asumu Takikawa
e80f17cbad
Adjust contract generation for some Instance types
2015-03-04 13:27:31 -05:00
Andrew Kent
ea942c2110
fixed base/value overlap bug
2015-03-03 23:20:15 -05:00
Alexis King
3f67cfea7c
Use contract-neg-party to accurately handle contracted applications
...
Fixes #38
2015-03-03 16:15:09 -08:00
Andrew Kent
766bd83a98
removed subtle latent bug in tc-let-unit
...
there was a values mismatch bug hiding in here that hadn't ever (to my knowledge) been triggered -- perhaps this code is dead?
2015-03-01 12:27:51 -05:00
Asumu Takikawa
165a2afa5b
Fix augment/inner contract generation
2015-02-28 14:02:57 -05:00
Matthew Flatt
4116acc2d0
define-runtime-module-path-index
for reference to a contract submodule
...
Cooperate with `raco exe`.
2015-02-27 13:39:46 -07: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
d0a8b8c25b
Fix prims for quote-syntax -> quote change
2015-02-27 00:17:02 -05:00
Andrew Kent
5d84201789
fixed proposition parsing
2015-02-26 13:46:42 -05:00
Matthew Flatt
952334927c
typed/untyped-utils: adjust scope handling for introduced submodule
...
Avoid the relying too much on current macro expander's treatment of
syntax that is moved from one module to another.
2015-02-25 21:15:30 -07:00
Matthew Flatt
4622a4cc32
use quote
instead of quote-syntax
for annotations in macro expansion
...
The choice of identifier is arbitrary, but avoiding `quote-syntax`
may be more forward-comptiable as the macro system changes.
2015-02-25 21:15:23 -07:00
Matthew Flatt
1469306a8e
use free-id=? instead of bound-id=? for letrec
analysis
...
With the current macro expander, either should work, but
`free-id=?` is arguably the right choice for determining
that two identifiers refer to the same binding.
2015-02-25 21:15:18 -07:00
Asumu Takikawa
f5f6a77dfd
Add two mrlib type wrappers
2015-02-25 16:31:37 -05:00
Asumu Takikawa
eb8441960f
Fix Travis image URL in the README
2015-02-25 15:17:13 -05:00
Asumu Takikawa
f7a93f6be8
Add a README file
2015-02-25 15:15:11 -05:00
Asumu Takikawa
08ac3a178f
Add init-rest args to Font% type
2015-02-25 14:25:17 -05:00
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