Eric Dobson
2f3ec59680
Make heterogenous vector typechecking not double typecheck the arguments.
...
original commit: 74f8dc74366a22a3b55f4475bf42c316f705302e
2014-03-21 22:44:45 -07:00
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