Commit Graph

3389 Commits

Author SHA1 Message Date
Eric Dobson
ff7f9ce9a2 fixup
original commit: a7d6809243cbe4bf88863e369dbd2f654cca0362
2014-03-21 22:01:32 -07:00
Eric Dobson
2d27138aea Update current-seen
original commit: 534f41e729b8136e901359d38c946d8b23f637fb
2014-03-21 22:01:32 -07:00
Eric Dobson
c2fafe90e0 Make version of tc-err that checks return types.
original commit: bbec6422840bcd6c11530de441b851801eb4d974
2014-03-21 09:04:49 -07:00
Eric Dobson
c9ed25f192 Make check-below not return no-filter and no-obj.
original commit: 43449f820c0786ddd0bf3b150822b3176fa1192d
2014-03-21 08:52:32 -07:00
Eric Dobson
437d07aae9 Make abbreviation for make-Event to match others.
original commit: a7f0be7165886f4ac3a6a62942e359a8a76e362a
2014-03-20 21:12:42 -07:00
Eric Dobson
1b2947b765 Add type key to ClassTop.
original commit: efd27fa4f7d48add6d42f482fb453e5a5cc0eec0
2014-03-20 20:42:10 -07:00
Eric Dobson
e0403713c6 Simplify typechecking of extend-parameterization.
original commit: ca867bc97f3cca1381d331f30cb14f3b9555ffdf
2014-03-20 20:22:17 -07:00
Eric Dobson
296f83ff19 Fix polymorphic class checking.
original commit: 9aa7accd89a2a338c03f1c3ac034e7e047135f08
2014-03-20 08:31:55 -07:00
Eric Dobson
8801d6a89a Fix uses of expected in tc-app-list.
original commit: 90556817eb35b7c9b2a7de5297c2d410909380b3
2014-03-19 22:58:37 -07:00
Eric Dobson
d4ef37f2fb Remove extraneous uses of expected in tc-app-hetero.
original commit: c7ef6fc6dd2c8207dc1ad0c5189969dcc4a57ca5
2014-03-19 22:40:06 -07:00
Eric Dobson
0b98038079 Simplify tc-expr testcase.
original commit: aa6a04fd46a0402803b6b365ba9b081ae060cfc7
2014-03-19 21:08:31 -07:00
Asumu Takikawa
89b9d28280 Remove unused imports and a useless comment
original commit: 6a80de3d5d50c072947a393ed263cd5bd8b791fe
2014-03-19 01:57:08 -04:00
Asumu Takikawa
63841ff35a Simplify internal data for TR classes with kws
Use keywords instead of literals for communicating
internal information from the TR front-end macro to the
back-end.

original commit: 35af4b726497268957c0a065b473ee9acc13758d
2014-03-19 01:57:08 -04:00
Asumu Takikawa
bbb47f45fe Handle init/init-field order correctly in TR
Also handles the case where init and init-field clauses
are interleaved, in which case they need to be interleaved
in the type.

Closes PR 14408

original commit: a21a4a151ace08457a38d2af0664aecf44c30f0a
2014-03-19 01:57:08 -04:00
Asumu Takikawa
d9dca81616 Make TR class tests run successfully on their own
Closes PR 14409

original commit: da3bc2f266c31ef912dc4b1e0a6ba77610d6ed9b
2014-03-18 18:01:07 -04:00
Eric Dobson
19ea44afa6 Make tc-l test cases give better error messages.
original commit: 83d39a50b86500c26627db76e71f8efc03b2a8e2
2014-03-18 08:19:22 -07:00
Eric Dobson
fd2f8bb33d Make TR test infrastructure support being run from different directories.
original commit: cdb77cd4f030677b0dd400ca5febdf087a378a6a
2014-03-17 09:32:14 -07:00
Eric Dobson
4012a728f4 Add Top and Bot to contradictory and complementary checks.
original commit: 04fc5498c85bc36bbaf0ab0bcae947560cd60968
2014-03-16 23:34:06 -07:00
Eric Dobson
08b2e5c7f9 Split opposite? into complementary? and contradictory?
original commit: 3313b820bb6ab98551ce134c21c2e1fc53008bf9
2014-03-16 23:34:06 -07:00
Asumu Takikawa
e881466654 Change "Class and units" to "Unsupported features"
Also remove classes since they are supported now.

Closes PR 14398

original commit: 4b4ff3d00bdcf7612a4287c0040ed07424d85813
2014-03-15 16:35:41 -04:00
Asumu Takikawa
8ef86fb139 Fix type->contract for recursive Name types
Certain mutually recursive Name types would generate
contracts that infinite loop when triggered.

original commit: 663e96afd6437bbb26866be1e8fbd9dfeb59582f
2014-03-15 16:35:41 -04:00
Eric Dobson
3c2e254693 Fix implied-atomic to work on -top and -bot.
original commit: 9e2787c0cf6eb3e45256ad31075978d3955ef34c
2014-03-14 18:55:24 -07:00
Eric Dobson
63bb9f5b5b Initial version of filter tests.
original commit: f7536ebfbd38e873039a98df000c347e5b10931c
2014-03-14 18:55:23 -07:00
Eric Dobson
95805cd035 Make check-below-tests check more things and give more debug info.
original commit: d9aeabdaec2e994df01d1434b05425f6ae7706cc
2014-03-14 18:22:31 -07:00
Asumu Takikawa
63c0e4c88c Adjust error messages for send typechecking
original commit: 2344a7683dfe74380f28bdcb852e9a0b83bab07a
2014-03-14 14:19:06 -04:00
Asumu Takikawa
2ecee7be45 Fix class typechecking for Name types
Fixed check-class-unit and get-field for the addition
of recursive Name types.

original commit: 32c78065a58633de2b884bb8d81b81ea86066aa8
2014-03-14 13:18:59 -04:00
Asumu Takikawa
b80597a56d Support rest args for TR class methods
original commit: 4439c9df0d5a367399bb92107954c9b47338c8af
2014-03-14 11:19:01 -04:00
Asumu Takikawa
f46e98bce9 Raise a better message for ctc generation in TR
This provides a better explanation of contract generation
failures for module-provided bindings.

original commit: 30b60f8c4369972f8fb98732149bd99ce8d9fd98
2014-03-14 10:05:54 -04:00
Eric Dobson
c806b3e35c Make check-below only accept arguments of the same kind.
original commit: 5600213a5a79d1106016f183d767cc17eee72d2b
2014-03-13 21:15:45 -07:00
Eric Dobson
dce4dd4ae9 Make users of check-below call it with same kind arguments.
original commit: 058b67946db65bf438db441db8639c6dc3fc5734
2014-03-13 18:50:36 -07:00
Eric Dobson
ccf7d79d27 Fix tc-results->values and filter-tc-results to handle polydots.
original commit: 88af96f19a340e4d6ac72a736456a3ec91354bc4
2014-03-12 19:05:19 -07:00
Asumu Takikawa
ef84da32f6 Change error messages for two TR unit tests
I'm not sure why, but these tests seem to emit one of two different
errors depending on the machine it's run on (hence the failure in
DrDr). For the short term, I've set the regular expression to allow
either of them.

original commit: e2e0ab748fdd99be105160e9a9706da970f0c5a2
2014-03-12 10:01:49 -04:00
Asumu Takikawa
fc00888943 Correctly check letrec-values clauses with no vars
Should unbreak the build, my apologies to bisecters

original commit: 36c3861494821c9efb1db9df278c77663e1ddb13
2014-03-12 01:18:16 -04:00
Asumu Takikawa
303f87c5eb Clarify a few comments in TR
These are for letrec typechecking and Tarjan's algorithm

original commit: 04c3851ebc1e7c78d314f833de1c76ab458202ed
2014-03-11 23:48:59 -04:00
Asumu Takikawa
07a8649e4d Use Tarjan's algorithm for typechecking letrecs
This allows us to type-check non-recursive sequences of
letrec-values clauses in the right order. In other words,
we will type-check the clauses in reverse topological
order (the reverse of the dependency order).

Clauses that are recursive go through the usual
type-checking process, injecting Undefined where necessary.

original commit: 93a2798ec3f41e113a282e10c31473d117f590e5
2014-03-11 23:03:39 -04:00
Asumu Takikawa
4f7bc4d5d3 Move TR's Tarjan's algorithm to a separate file
Also generalize so that it can be used in other
parts of the codebase.

original commit: 292a47c3dddbe4a311ad0133e992320d429f56b5
2014-03-11 23:03:39 -04:00
Asumu Takikawa
fbf9614f02 Improve letrec-values type-checking
Split into two passes in order to be able to find
more cases where the RHS doesn't refer to the bindings
in the letrec.

Closes PR 13124

original commit: bdb8833fa501a068f8fcebcf89cbf7c071a6c9c6
2014-03-11 23:03:39 -04:00
Asumu Takikawa
f90c6f92b0 Add type annotations for GUI libraries
The types for racket/gui are substantially complete, but
there are still some missing classes and methods.

Some interesting future work would be to ensure type coverage
by comparing the class members vs. the types in the environment.
That could be run as a test to ensure it stays up to date.

Most types for the framework library are still missing.

original commit: 00a3b7cb149ae35c63b9eb64df34d87424407a10
2014-03-11 17:39:02 -04:00
Asumu Takikawa
72e1cfc91b Make printing of Name types unfold correctly
original commit: 90dccbdffb3f5bf1de50cb1a6473f8492df517ff
2014-03-11 17:39:02 -04:00
Asumu Takikawa
d93ac7e2ff Add static contracts for instanceof
original commit: 4bc4a74d00b62522caaf0fd9a4d334e440d5a56b
2014-03-11 17:39:02 -04:00
Asumu Takikawa
8ff305e328 Add recursive type alias support to TR
This expands the `Name` type functionality to go
beyond struct names and allows arbitrary recursive
type aliases to use the environment for indirection.

In addition, such aliases can be mutually recursive.

original commit: a8cc430d0fc7090dd758e0f6738296edcb4d8490
2014-03-11 17:39:02 -04:00
Eric Dobson
f6f23ef043 Make TR tests work with contracts enabled.
original commit: edc8bbf6b4601bdf083b1889a11b86bd64488d6d
2014-03-10 21:09:36 -07:00
Asumu Takikawa
951c64f94d Fix TR tests for new error messages
Related to commit fa81fb35f7361f0a985ad4d311400d621a2a5496

original commit: b205c99560d21b80d975dda3fa5f688ae832cd0f
2014-03-10 17:02:31 -04:00
Asumu Takikawa
41291066b4 Update several application type error messages
original commit: fa81fb35f7361f0a985ad4d311400d621a2a5496
2014-03-10 14:59:42 -04:00
Eric Dobson
825fb1c2e4 Changes printer to be more consistent.
Also make printer tests part of the unit tests.

original commit: e34a2484512b94d7f829a013694caf46e360420c
2014-03-06 09:54:06 -08:00
Eric Dobson
f2e2a4b7f9 Add tests for check-below.
original commit: d2c415f5979caf4d93248ee0a9b6a6a2b7ee4736
2014-03-06 09:44:09 -08:00
Asumu Takikawa
64515f386a TR: better error for invalid super-make-object
original commit: 994648c556e026df55d95bddf017b9a5ce723688
2014-03-05 01:45:39 -05:00
Asumu Takikawa
f25af5b48a Improve TR's check for by-name superclass inits
Make sure to check that by-name inits are actually accepted
by the superclass and produce a good error when they aren't.

original commit: b0ba3272cb7dadba24b0bcba73128bef3f312d06
2014-03-05 01:45:39 -05:00
Asumu Takikawa
f27449fc44 TR: fix error case when superclass is not a class
original commit: a0ce1fa02cb8cdd55b6c7bea9d641ca48e3bd6e6
2014-03-05 01:45:39 -05:00
Asumu Takikawa
400b6d438c Rewrite TR pass for class top-level expressions
Instead of making separate passes over the expressions,
make a single pass to collect necessary information for
type-checking.

This enables simpler processing of type annotations,
super initialization arguments, and other things.

original commit: 0bacba7a68321ff08187d0a5d95b02b8351cdd3f
2014-03-05 01:10:44 -05:00