Commit Graph

4331 Commits

Author SHA1 Message Date
Vincent St-Amour
67bb30da0b Fix collection references to use the new name. 2014-12-16 14:15:54 -05:00
Vincent St-Amour
134f793ccc Reduce directory nesting for tests. 2014-12-16 10:07:25 -05:00
Andrew Kent
76effbb423 better Or implied-atomic? & unit tests 2014-12-13 22:13:31 -05:00
Sam Tobin-Hochstadt
8c5753df84 Try a smaller install. 2014-12-12 17:59:21 -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
9defa4b492 Install deps on travis. 2014-12-09 19:41:10 -05:00
Sam Tobin-Hochstadt
ca3007ea91 Fix path in travis. 2014-12-09 19:38:26 -05:00
Sam Tobin-Hochstadt
d1ea39b9c5 Add travis tests. 2014-12-09 19:36:37 -05:00
Sam Tobin-Hochstadt
b5172405ff Actually fix the tests. 2014-12-08 10:03:34 -05:00
Sam Tobin-Hochstadt
8b3ed72205 Increase test timeouts for DrDr. 2014-12-07 10:01:19 -05:00
Sam Tobin-Hochstadt
eb1459e524 Add standard .gitignore file. 2014-12-06 17:46:25 -05:00
Sam Tobin-Hochstadt
44e3cdfb71 Remove extra directories. 2014-12-02 00:53:36 -05:00
Sam Tobin-Hochstadt
17436675a6 Remove stray reference to Racket in LICENSE files.
Related to PR 14842.

original commit: 3bbdd134b1754d51422eeaec1c35e9c62d45144c
2014-11-25 14:09:57 -05:00
Asumu Takikawa
088a59038a Fix infer-self-type for depth overriden methods
When an overriden method implements a subtype of the superclass
type, sometimes the typechecker gets confused what the type should
be in the resulting class type.

original commit: 85b70aef7f66f0e0c8716fca716d1e38478bf763
2014-11-21 14:17:16 -05:00
Asumu Takikawa
569b55bf69 Fix with-type when used at the top-level
In some situations, with-type would fail to clean up its
state before reporting an error at the top-level.

original commit: 591147dd028d4586e4346d83706d38454f043172
2014-11-21 02:07:11 -05:00
Asumu Takikawa
a27553b1f6 Remove unused requires in TR
original commit: 381078510a26f7ce0b6dc91ad6e10a07f8b85755
2014-11-21 01:46:52 -05:00
Asumu Takikawa
29995ca01c Put Instance types in the seen list for subtyping
Since we resolve under Instance types for subtyping we
need to put them in the current-seen list too. Fixes
an infinite loop bug in subtyping.

original commit: 826a08d80c65d00dc0b77c89e4a6c2967bfef74c
2014-11-20 20:42:08 -05:00
Asumu Takikawa
99ebb7e51c Remove the depth subtype check on #:implements
This check was not really necessary to begin with,
but I thought it might be a useful sanity check. In
retrospect, calling `subtype` here causes other headaches
(such as when registering type aliases) and is confusing
when multiple #:implements are provided.

Instead, the #:implements clauses are just linearized
and the last type for any given method/field is taken.

This may also prevent a heisenbug that occurs in the
GUI framework types. I still don't know the root cause of
that non-determinism though.

Closes PR 14669

original commit: 9b4e3befa3605851f1ee30f20f4a38edd06dd8a9
2014-11-20 12:20:28 -05:00
Asumu Takikawa
c57db18ec4 Add #:implements/inits for Class types
Allows some Class types to be written more concisely.

original commit: 56e7026b165d8a9eb48a5ac004d7769a5a1f264e
2014-11-20 12:20:28 -05:00
Sam Tobin-Hochstadt
4a010d2b6d Fix init arg order for Message% type.
original commit: aad0fa5884704b8a4ca3890323199334eba1f31d
2014-11-19 10:57:08 -05:00
Asumu Takikawa
9c4a8d0b62 Fix tooltip test/contracts for TR contract mode
original commit: 6c9172f50f390032dd4da914eb1f66af4c0fa554
2014-11-18 21:38:39 -05:00
Asumu Takikawa
9243ac154c Fix type tooltips for multiple values
This broke when I made the printing lazier using thunks.

Also use regexps for the tooltip tests.

original commit: 8bff995f41be53c119d4d09cb802b1f8c8f5c714
2014-11-18 18:28:58 -05:00
Asumu Takikawa
a42eaad1ca Add tests for TR's tooltip computation
original commit: f9e2231ce9f5df9013865f9311aaa27f4e3a343d
2014-11-18 18:28:58 -05:00
Asumu Takikawa
88e2146757 Use the original syntax to guide tooltip shape
original commit: 1d86e173a5a68147d8316332addcd0619fbdb65e
2014-11-18 18:07:28 -05:00
Asumu Takikawa
724d5e142d Handle case-> types better for tooltips
The use of case-> can cause an expression to get
typechecked multiple times, so the tooltips should reflect
all of the passes.

original commit: c170b8288c74dfd227f90897c4f65979a006cb68
2014-11-18 18:07:28 -05:00
Asumu Takikawa
d02b540d0b Compute type tooltips better for macro expansions
Macros often expand into forms where the subforms have
the same syntax location as the entire form, which means
a naive approach gives confusing type tooltips on macro
expressions.

Instead, only keep the latest (outermost) type tooltip
for a given expression.

We could instead compute whether a given piece of syntax
is a subform of another at a given location or not, but
that check is expensive and we don't want to do that on
every update of the type table.

original commit: c2abbc700d6b8233e4a52f518d8056579d696b5f
2014-11-18 18:07:28 -05:00
Sam Tobin-Hochstadt
0c5d2297cb Fix internal error.
Needs a real fix in the future to actually support this case.
Noted in a program from Matthias Felleisen.

Fixes PR 14841.

original commit: a64dadc78c54fc04bfa8ac8ae9649f4178f0ae25
2014-11-18 17:49:27 -05:00
Asumu Takikawa
0d4b3e6a92 Relax parsing of All types and type annotations
Closes PR 14839

original commit: 27132ee0614955e25c5f1b80ed7f491ffca2de36
2014-11-18 13:59:34 -05:00
Asumu Takikawa
165240384b Memoize static contracts and resulting contracts
This commit uses memoization not just for Name types
but for static contracts for all types. It also adjusts
how Name contracts are generated to increase sharing
across multiple type->contract calls.

original commit: 18c1f095fcf47e0b935819ecb0c3f2b7a3e7fec1
2014-11-14 15:25:37 -05:00
Asumu Takikawa
23d7797c26 Remove dependency field from Name types
This was used for the old method of generating contracts
for these types but is no longer necessary.

original commit: 4d46985e58a0eb9ebe7cbe45063b6a28938df067
2014-11-14 14:55:13 -05:00
Asumu Takikawa
4c65f68004 Simplify construction/matching on Name types
original commit: 49ba06b583ade3ce2b67d38b3ddf9fc35b509eee
2014-11-14 14:08:59 -05:00
Asumu Takikawa
40bf75c689 Minor optimizations in type-alias-helper
original commit: 4b05d835f45226b9f4aa66f427525cb2c1142149
2014-11-14 13:43:57 -05:00
Asumu Takikawa
dcecff2c22 Add tests for two closed TR PRs
original commit: 89782125883555586ec07645ac798c8e28513ff6
2014-11-14 10:41:21 -05:00
Asumu Takikawa
c3997a5f35 Don't print the type at the REPL for Bottom
Closes PR 14829

original commit: 7725262771632dbd6078d03204ca24adaa66891f
2014-11-12 17:55:14 -05:00
Asumu Takikawa
24d43bffc5 Add base-env type for symbol<?
original commit: 16678aef6a00aceafce699afc2010a7b93bbcd2a
2014-11-12 01:01:06 -05:00
Asumu Takikawa
33978615f1 Add struct inheritance in type-environment
Use it to start adding types for a subset of
typed/racket/sandbox

original commit: b56eb4302282952bce152351ea7facbc6d73ebfc
2014-11-10 17:29:34 -05:00
Vincent St-Amour
1030f59a07 Fix interaction between early exits, filters and the optimizer.
Closes PR14828.

original commit: 517e22eee8ee87eb7048996c5a610edf426d073c
2014-11-07 15:55:49 -05:00
Vincent St-Amour
2d4c58ad3a Document surprising control flow.
original commit: 629b3119b85f7f08e12821d9d84b8028be0053f9
2014-11-07 15:11:47 -05:00
Vincent St-Amour
1e6eb14bde Fix comment.
original commit: 424e896da5e0133a214f863359e6956e85f2dd0d
2014-11-07 15:11:05 -05:00
Vincent St-Amour
0414e6e557 Document another TR optimizer bug found via random testing.
original commit: 547d52fe2728dba06a0d6d6d80a19a812ae21027
2014-11-06 13:47:27 -05:00
Asumu Takikawa
afa370a4b7 Remove an unnecessary syntax-parse expression
Not sure why this was there

original commit: c51a87dc366e9f76e99f03314c815147889c52e0
2014-11-05 17:03:52 -05:00
Asumu Takikawa
3eaa43a93e Fix expected type in test
original commit: 8137163b7fb630de6b2d13c787144e562aa2a4aa
2014-11-05 16:28:32 -05:00
Asumu Takikawa
ef993d3c61 Unbreak TR's top-level
A recent change I made broke optimizations at the top-level

original commit: 54dfd50b89122fd73d73977ff81b393f620c2785
2014-11-05 16:28:32 -05:00
Ryan Culpepper
9bf47d500e update typed/openssl protocol type
original commit: 96cefe88c4485d1242ae361522b59371709fbc3d
2014-11-05 13:40:59 -05:00
Vincent St-Amour
b50ecd0aca Compile the math library as part of the TR test suite.
original commit: 1d09fbde371c8475e8a1ce3dd9cc66e0f3ee95dc
2014-11-05 11:02:20 -05:00
Asumu Takikawa
fef047b54e Simplify contract generation code
Don't export type->contract except for testing. This
discourages direct use of type->contract in favor of
using the change-contract-fixup approach.

Also consolidate most of the contract-related syntax
properties into a single property containing a prefab
struct instance.

original commit: b374902bf3dd24e06f64017aa3d89e29ec6ffd42
2014-11-04 18:17:22 -05:00
Asumu Takikawa
541dcded61 Avoid direct use of type->contract in with-type
Eliminates the last remaining use of type->contract
outside of the type-contract.rkt file. This allows
all contract generation to go through a single point
of control.

original commit: 7b6ae09a2dcf04a5755f6f9256ff82369cc52403
2014-11-04 18:17:21 -05:00
Asumu Takikawa
809554a5a6 Change contract on change-contract-fixups
The context should provide a flattened list of syntax
to the function.

original commit: 4d806fb02dd18c6f067d84806eb8ca93051da0d2
2014-11-04 18:17:21 -05:00
Vincent St-Amour
481067f6cb Fix other bugs in type of expt.
Found using the new random testing.

original commit: ff0c101a648d2981231ebdb886aba8504094bd95
2014-11-04 18:12:14 -05:00