Commit Graph

3711 Commits

Author SHA1 Message Date
Vincent St-Amour
85bd67a8b0 Prune argument types too in error messages.
Closes PR 12907.

original commit: 9c30da7682a96a5fbb7f4dd6afebafb8006d8274
2014-10-22 13:58:42 -04:00
Asumu Takikawa
192f85b684 Add contracts and omit an unused definition
original commit: 200f1cdb45b69674ed9ba91e68855d323fb7a3b6
2014-10-21 10:14:50 -04:00
Asumu Takikawa
905058e07c Greatly reduce size of class static contracts.
This helps generate contracts for GUI classes using less
time and memory.

original commit: dc578cdbc0496fe5bdfd2238981e8e3ac206756b
2014-10-21 10:14:50 -04:00
Asumu Takikawa
573f6506b3 Use a new approach to generating Name contracts
This handles contract generation for recursive or
mutually recursive Name types in the static contract
framework.

Instead of just generating recursive-sc static contracts,
it memoizes the recursive contract within a single
type->contract call by indirecting through a table.

When static contracts are instantiated, the table is
consulted for computing contract kind information and for
generating the actual contracts for the recursive names.

original commit: 608dfcf3356fb4957331dc7c140b9ac176d36991
2014-10-21 10:14:50 -04:00
Asumu Takikawa
55c8541c82 Add a test for generating GUI contracts for TR
original commit: 3d4f7906c8ebd1e17337f8b6a39a51749c109bb8
2014-10-21 10:14:49 -04:00
Asumu Takikawa
744152b0d8 Fix TR docs on #:implements in Class types
Please merge to v6.1.1

original commit: 3b006df29d3b74428fbc2e3a33a53f36fb400753
2014-10-21 00:57:46 -04:00
Asumu Takikawa
38ceb044cd Fix TR treatment of parent row in class types
This bug manifested in having extraneous class
members in a type for a class whose superclass
expression was a mixin application.

original commit: c1a27951a38733419702b6647b97f1547ed24ae3
2014-10-20 18:18:39 -04:00
Asumu Takikawa
eb79b59d1e Fix type for stx->list in typed/syntax/stx
Please merge to v6.1.1

original commit: 125d993c64bd71ec83109717e029f0e7da4699e3
2014-10-20 17:39:17 -04:00
Asumu Takikawa
1b8539dfbe Work around a type alias bug in framework types
The type alias analysis is unable to detect a rare kind
of type dependency and as a result initializes type aliases
in an order that doesn't work. Adding the extra `Class`
boilerplate here accommodates the analysis.

Please merge to v6.1.1

original commit: 4a32fa15515494bca418a655bd80a03adfc29442
2014-10-20 15:56:23 -04:00
Vincent St-Amour
544a8cc2a1 Fix types for foldl and foldr with 3 lists.
Thanks to Jack Firth for the report.

original commit: 9030680e312c54522bdd801c6113400535c1965a
2014-10-20 15:44:45 -04:00
Asumu Takikawa
24673c7642 Add typed/net/git-checkout
original commit: 7d241e92143dc4327c71ec1bb1246bb81afe14b4
2014-10-20 02:53:40 -04:00
Asumu Takikawa
5f0b741571 Fix a bug in typechecking kw function application
Mandatory kw arguments in function types could confuse
the typechecker when the function had the
`syntax-procedure-converted-arguments-property` property
set.

original commit: a70588ac4fa27fc7c69b8901be8f129802db05d7
2014-10-20 02:50:24 -04:00
Asumu Takikawa
469f501a70 Fix types for init arguments in framework
Please merge to v6.1.1

original commit: 96310d823eeb2b6836707f31e937dd2f90557cd4
2014-10-19 21:14:45 -04:00
Asumu Takikawa
f4cc45a9d1 Remove types for interfaces from TR framework.
We don't yet support types for interface values.

Please merge to v6.1.1

original commit: ca79eceb60b3f42d9bdb279b48441647632b8f23
2014-10-19 21:14:38 -04:00
AlexKnauth
5ac4e056ac add types for Stx-Null, Stx-Pairof, and Stx-Listof
original commit: 92f5b37ae231ef4521de91b2724041e0ff928f98
2014-10-18 12:25:28 -04:00
AlexKnauth
e086110009 add comments about (Syntaxof Syntax-E)
original commit: 3d88e7c6630806275bcfdab33d379c43a59094d8
2014-10-18 12:25:28 -04:00
AlexKnauth
d650866cdb test types for typed/syntax/stx
original commit: 4c22029f0616611c826f10fc2d3320a1ab32d48b
2014-10-18 12:25:27 -04:00
AlexKnauth
c425f4f5b2 fix types of stx->list, stx-car, etc.
original commit: 56faac79c47d39626c3cc30cfab808e0524a722d
2014-10-18 12:25:27 -04:00
Asumu Takikawa
5e9eedd41c Support define-namespace-anchor in TR
original commit: 03855eb53248f6de46ccfaa71b001a0375156e50
2014-10-17 15:23:28 -04:00
Vincent St-Amour
46b8e6668d Update TR history.
Please merge to 6.1.1.

original commit: 66e5a246c42dd585be9e42b280c0338de1e30892
2014-10-16 14:42:43 -04:00
Asumu Takikawa
58b3c4f4f7 Add contract generation for Evtof types
original commit: 863f0c58025301312298fb52a6c5f0d4ccdbdb9c
2014-10-09 17:13:49 -04:00
Asumu Takikawa
b4b666f9f2 Fix printing of * in -> types
original commit: 38af459049819ecac24de6b349440e6c589703f9
2014-10-09 16:11:36 -04:00
Eli Barzilay
2ff47d2e06 Random improvement.
The thing that caught my eye is the missing `#:cache-keys?' which should
really be there.  But not too important.

original commit: eaa6f85054c5c404507e5c9cbab0d3e93f468370
2014-10-09 16:11:16 -04:00
Eli Barzilay
0674c1638e Add `type-output-sexpr-tweaker'.
Sounds like a bad name, but I don't have anything better.  It's not some
"current-...-print" thing since it works on the sexpr that is intended
to be pretty-printed.  So I went with the above.

original commit: 3c98d086904409b9c49d710134415d718d6ca65e
2014-10-09 16:11:16 -04:00
Eli Barzilay
bd742ac79e Get rid of `special-dots-printing?'.
Asumu said that he doesn't know of any other clients of this parameter
besides my class code.

original commit: 0eed0f6e0e493b190abc912981bab59644a3a760
2014-10-09 16:11:16 -04:00
Eli Barzilay
22229fd8ac Get rid of some unused code.
Looks like some aborted attempt at abstraction, which is no longer used.

original commit: 2e6b82ab8ec0cc63837759873e412831de5a1826
2014-10-09 16:11:16 -04:00
Asumu Takikawa
6176852a27 Rewrite TR class form to preserve abstractions
This uses a technique discovered by Ryan and Dan that
allows the typed class macro to function without invasively
local-expanding the entire class macro (using its private
context information).

Instead, it expands into many helper macros inside the
normal class body and communicates among them using
`syntax-local-value` and compile-time state within the
class body.

This rewrite didn't save that many lines, but it did
reduce the amount of magic that's used.

original commit: 725cb99f4ade73f46da9abf7c116158675f9f22b
2014-10-09 14:37:05 -04:00
Asumu Takikawa
9e46f0391e Delete useless definition
original commit: cefa13c4d7f175d657f6875f977a1af94e0d5061
2014-10-09 11:00:35 -04:00
Asumu Takikawa
6d7dee7b9d Fix type for read-bitmap
Closes PR 14729

original commit: e50e2eaa57033e09dd563d2ddd73608c9a96d3be
2014-10-08 01:57:22 -04:00
Asumu Takikawa
f32844253d Adjust tc-utils too for new DrRacket protocol
original commit: f271d3b1675a8d615a50ef73b181cdac7040b998
2014-10-07 00:02:30 -04:00
Robby Findler
edb79ee27b adjust the tooltip check syntax property to insist
on the syntax object itself to identify the source,
instead of just handing over the source

original commit: 8784bd984f26a3a97aec98d9762992b1bddff30f
2014-10-06 21:19:12 -05:00
Asumu Takikawa
cb341fdd46 Add TR tooltips for type errors as well.
Adjust type tooltips to only show if there isn't a type
error on that syntax location.

original commit: 693355710fae559c09f6c3f6850fe1268d048eb4
2014-10-06 18:56:53 -04:00
Neil Toronto
41e63fad3c Added get-current-gl-context, tests (also for make-gl-bitmap), and docs
original commit: 1e99637bf887beab5bfd64be2a7bf0c918a38114
2014-10-06 16:37:06 -04:00
Asumu Takikawa
5c3700d983 Add type tooltip information in TR modules
This lets DrRacket show types for expressions that
are typechecked.

original commit: e301519a7e9bfb71c66e20788d45cbcc0353dfd8
2014-10-06 14:07:28 -04:00
Asumu Takikawa
1aacf57a9a Fix types for eq/eqv/equal-hash-code
Thanks to this SO question:
  http://stackoverflow.com/questions/26130215

original commit: 0a71fe1d289938cde3e82df97ca199e655e1e237
2014-10-01 13:53:18 -04:00
hopkinsr
542fe0fbb7 call/input-url - support headers and polymorphism
The types are tweaked to match the contracts and to support passing a
list of headers to the connect procedure.

The FIXME for polymorphism has also been removed as it is now
parameterized to support "...The result of the handle procedure is the
result of call/input-url..."

original commit: d534b19167efcd265ef16d698ebd396cec32c38b
2014-10-01 09:24:32 -04:00
Asumu Takikawa
595c189456 Fix embarrassing bug in OO subtyping
Subtyping on objects was unsound due to an attempt to
make the algorithm more clever. This was a good lesson in
the danger of premature optimization.

original commit: 994c54c72252e4d39a2ff1315f5bcc6fcf3075a8
2014-09-30 21:56:07 -04:00
Asumu Takikawa
cdd0b614dc Fix type for text:line-numbers-mixin
original commit: 089e6387de18a1a2e139e491aacf5c54734d1b77
2014-09-16 16:35:51 -04:00
Phil Nguyen
dfc6abcb14 Add more typed bindings for framework and for GUI
original commit: 2cfe0ddcdbb91f01c76707f576038d0bd6fd7bc0
2014-09-16 15:55:15 -04:00
Asumu Takikawa
22e9a0bd3d Fix the TR fix in efd482c30ff80f
My fix had just patched over a contract violation in a different
function. This commit fixes the root of the problem.

original commit: 98e88d615c6a3c38c87e71e7521275d238ea44cb
2014-09-13 11:41:02 -04:00
Asumu Takikawa
35a42d8598 Fix unannotated defines with bad number of values
original commit: efd482c30ff80f73c159087c5196cc058595f68e
2014-09-12 18:21:58 -04:00
Asumu Takikawa
d614c6eea0 Fix TR reference discussion of filters
Thanks to Anthony Carrico

original commit: 290cc2dd7e02a023c2ed4b13827b98d2025a99fe
2014-09-12 16:54:20 -04:00
Vincent St-Amour
0af045fcf3 Fix contract.
original commit: 938dc7d41efca8d27dba973af11f7e3c9d916d5d
2014-09-11 10:42:42 -04:00
Vincent St-Amour
3b4ca8dac1 Fix the fix to type queries.
Should have been included in the original commit.

original commit: 5d6ecd77542c8da3cc81c51f41d1a6f44b7530d6
2014-09-10 14:30:22 -04:00
Vincent St-Amour
2cfd28a6d3 Fix type queries.
original commit: 08178c1ec2746a407f254f5cce9f6ea29a91265e
2014-09-09 16:24:09 -04:00
Vincent St-Amour
bb3f446186 Merge clauses even when no clause is consistent with the expected type.
Closes PR14731.

original commit: 3ae6d2aa46415aac6041c6b7c1d7841f1dc8dd72
2014-09-09 10:48:03 -04:00
Asumu Takikawa
34eeeb62bc Fix opt-lambda property on opt-lambda methods
Related to PR 14726

original commit: 3905334f28a9ffdf2d963c21f159fc1ccf642632
2014-09-08 16:30:27 -04:00
Asumu Takikawa
ccfda8d066 Handle methods that have opt args but no kws
Closes PR 14726

original commit: ab47d1bb2561d2c4ed3c42ce47dd0b10385bb630
2014-09-07 17:26:05 -04:00
Asumu Takikawa
2cab9e9d71 Fix use of tc-literal
original commit: df3c56fae2fc21638d3b249354af4cc77645db13
2014-09-07 15:44:19 -04:00
Neil Toronto
6c7b6717b0 Fixes and additions for some GUI class types
original commit: c245ef4c67acea851c5aabb69de7c64229e85336
2014-09-06 22:44:26 -04:00