Commit Graph

3452 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
6ba3048785 Add a benchmark for inference.
original commit: 6ba31e024009dca2f344929d0c40c00e0d6e05cb
2014-05-19 15:52:19 -04:00
Asumu Takikawa
f316396851 Improve TR error messages for class instantiation
original commit: 27524e6579f90a0ffabdc2c173d8d6fef4346202
2014-05-18 23:08:24 -04:00
Asumu Takikawa
dc30b8be30 Add one-sided contract for ClassTop types
Closes PR 14486

original commit: 8b245240ea41630905b5a66eb76485a15c113b7a
2014-05-18 23:08:05 -04:00
Eric Dobson
094678c666 Unbreak TR contracted build.
original commit: 06d29a7102d32853cf2e5310c41e4c5931fab688
2014-05-18 11:23:56 -07:00
Eric Dobson
4bc06a7a2a Add some more results to infer-tests.
original commit: d057419abea6ccfd1ad3185276cccc3405c57d45
2014-05-17 22:13:50 -07:00
Eric Dobson
db297fc328 Correct subst/dots on list-dots and values-dots.
original commit: 1aa6c490726e575198dff088b3084bd1a6df3fed
2014-05-17 22:13:50 -07:00
Eric Dobson
b915674d2b Make infer-tests give better errors.
original commit: c2fa9d2f7373d72efa3dcd124cfb4d4a790a13aa
2014-05-17 22:13:50 -07:00
Eric Dobson
1209eb25c3 Support keywords with %.
original commit: 420bb0e2037a4bf53581bb8474de2c56852d8571
2014-05-17 22:13:50 -07:00
Eric Dobson
bb14c479c4 Infer in dotted lists when we can infer on the bound.
original commit: 3ccc14432b066ffe0ad7ca0f254e2c1be261b53d
2014-05-17 22:13:50 -07:00
Eric Dobson
b054cf0cdb Make inference work with lists under dotted lists.
original commit: 7f400e7bdea2e4845fd3801226f8c9a943faf982
2014-05-17 22:13:49 -07:00
Eric Dobson
a0336746b1 Handle inference of list dots under regular lists.
original commit: 7af943e41de8c838381f377e9e96ec0b078d9cd6
2014-05-17 22:13:49 -07:00
Eric Dobson
996ec1c66d Make polydotted case more standard.
original commit: b87e6a4496affdd3ae51f866e5342b6d5131a205
2014-05-17 22:13:49 -07:00
Eric Dobson
0b626757bb Correctly extend tvars in the right place during inference.
Removes wrong extension of tvars in apply as well.

original commit: 1d43b583fb04140f55c290fee98db28467d96c98
2014-05-17 22:13:49 -07:00
Eric Dobson
d3ea8b43e2 Add missing %s and corresponding unit tests.
original commit: eaa41a2a8ae3862ce82d40ee9d8bf41af938239d
2014-05-17 22:13:49 -07:00
Eric Dobson
89692576a7 Remove special case of subtype in tc-apply.
original commit: 7d88b7a6cbbe98de7ab8e2f16a7aeb95f13b9a0d
2014-05-17 22:13:49 -07:00
Eric Dobson
7744b379b2 Allow inference when the result has free variables.
original commit: 7e45bc7166ff4d0b06af15ea29b23b19a7668cba
2014-05-17 22:13:49 -07:00
Asumu Takikawa
e118bb5900 Fix rest arg contract generation for case-> types
The generated contracts are still not ideal when more than
one case has a rest argument, since a later case in the
case-> contract may pass but case-> won't try all of them.

original commit: fce98517e6ba4954dfa8920e31e7e3eef50155ca
2014-05-16 14:59:43 -04:00
Asumu Takikawa
fbaaecf2cc Rackety in TR tests
original commit: 02d046daf1529bc75e13d5b80b3d6a7f8d46a28c
2014-05-16 14:55:35 -04:00
Asumu Takikawa
21200f0772 Add typed-untyped interaction test harness
original commit: 5905fbd92a96b934875d1f11892d334fface3cc6
2014-05-16 14:55:35 -04:00
Eric Dobson
b1b70f03fd Correctly use a pattern variable in tc-app-apply.
Closes PR 14508.

original commit: 7da7eacbda9110ab7e0bc1a7b0fa294dc0f60da2
2014-05-14 22:39:20 -07:00
Asumu Takikawa
3d8722075b Fix GUI types and add missing types
Closes PR 14503
Closes PR 14507

original commit: 5fff7ce07e785bd1d220eec3fea1174c018e6013
2014-05-14 15:22:58 -04:00
Eric Dobson
a42b7a0792 Make inst fail on results that are not single valued.
original commit: 62ff915a56694203bd22b91d7eb69dfeba5bbc51
2014-05-13 22:59:36 -07:00
Eric Dobson
d9c7180a00 Make valuesdots subtyping not cause contract violations.
original commit: 2533effb2fdc02e29f149cfc55767a26ff88fbf1
2014-05-13 22:59:35 -07:00
Eric Dobson
871f8a5ca3 Abstract over dotted type in values.
original commit: f3fa035751dcf6cedac451f752211b65840df07a
2014-05-13 22:59:35 -07:00
Eric Dobson
8069311cf8 Make tc-lambda not internal error in poly dotted expected contexts.
original commit: a687415d6b56de1772620a09f85097659ac44225
2014-05-13 22:59:35 -07:00
Asumu Takikawa
4e5c49f7fd Fix type printing for simple latent filters
Don't print a simple filter for a function with more than
one argument or with a filter object that refers to an outer
variable.

This matches up with type parsing.

Closes PR 14510

original commit: 9435a8f44723091cca2e28879501f922bf910d69
2014-05-14 01:35:16 -04:00
Eric Dobson
a24c4717a9 Fix return tc-results when typechecking kw lambda.
original commit: 46701b6983c0c3269f6f7fbfa949ab9479b57cf8
2014-05-13 09:22:46 -07:00
Eric Dobson
bbf3ab9655 Actually fix all of the contract errors in substitute.rkt
original commit: 79df0996fdd0b2f4e09afdc5f4d41fb739805d34
2014-05-12 08:09:26 -07:00
Eric Dobson
cfdf846d76 Fix subst-all contract.
original commit: 3f5bddfcbd851ec5424df34bc975844dc77c8eda
2014-05-11 21:02:03 -07:00
Eric Dobson
1c77223c58 Correctly handle moving dotted vars to the dmap.
original commit: 4f7a119a087656c6f3af6cfa0b6f711b4a1b0ab9
2014-05-11 17:43:34 -07:00
Eric Dobson
e882825072 Add support for 1 sided contracts on Top types.
original commit: d7ed73d5ac34a666633b06dbae9d623455e0972b
2014-05-11 17:17:09 -07:00
Eric Dobson
5054402414 Add explicit -Null abbreviation.
Also clean up many use cases of -pair and (-val null) with -lst*.

original commit: 722c4fd075dc65792860f7f8e172c96106578a64
2014-05-09 20:21:11 -07:00
Eric Dobson
fddc956333 Add comments to tc/apply.
original commit: 6967ec7954c4b2e8c090e4c9ec37171e20a6e726
2014-05-09 20:21:11 -07:00
Eric Dobson
aa2d32287f Merge poly and simple function cases in tc-apply.
original commit: e56652bc1855dae0a3f255b4bac68140efeda74a
2014-05-09 20:21:11 -07:00
Eric Dobson
34c54f4ecd Add match expander for all polymorphic functions. Use it in tc-apply error messages.
original commit: d6ef3d774c7f5fe18a0e33159c45f5c2d71f862e
2014-05-09 20:21:11 -07:00
Eric Dobson
be1e28cb5d Simplify different cases in poly tc-apply.
original commit: afb3d99dc32942be34ffafdc3c114671dcc448cc
2014-05-09 20:21:11 -07:00
Eric Dobson
736a97e0b4 Remove extraneous check.
original commit: 976c1de96d21a61feefd3d1e4c5499e4f5a4fab3
2014-05-09 20:21:11 -07:00
Eric Dobson
6c069c38bd Simplify poly drest case in tc-apply.
original commit: cee3a3f2e195556af36018660327fb86f7b86f07
2014-05-09 20:21:10 -07:00
Eric Dobson
5517b7c5a5 Simplify failure case in tc-apply.
original commit: 345673c9533123c4715d26e41ad18f858710045b
2014-05-09 20:21:10 -07:00
Eric Dobson
58d7473490 Pull out typechecking subexpressions in tc-apply.
original commit: fafe7365ae2789fec3e18f2fa9e6e66349a29ae0
2014-05-09 20:21:10 -07:00
Eric Dobson
4d318d0534 Merge different cases in tc-apply.
original commit: 4c2dcfaeb644e65012a3d21986f478f9549b2af9
2014-05-09 20:21:10 -07:00
Eric Dobson
3a41a532d3 Make polydotted * case in apply similar to other cases.
original commit: 8ab29675d64b0d8113bf44cd7de5950dc8dfda49
2014-05-09 20:21:10 -07:00
Eric Dobson
27cabe8618 Make apply of poly functions more like regular functions.
original commit: 362747bfcdb8ceecd36b7e40d76de671b43d46e1
2014-05-09 20:21:10 -07:00
Eric Dobson
61ceccf36b Add tests for empty case-lambdas in apply.
original commit: 5e0670d87e4093a5aad9512b9b27a00915da0a31
2014-05-09 20:21:10 -07:00
Sam Tobin-Hochstadt
880ba74bc7 Fix contract.
First bug caught with new test.  Thanks Robby!

original commit: e1ab2ffcf4f22327345b90c4d3a633bcb815e74b
2014-05-08 16:19:30 -04:00
Eric Dobson
1e707d1b68 Remove duplicate case in infer.
original commit: e5d4aed2fb8560e83810b4a139485ef6d5c2a0c8
2014-05-07 21:13:04 -07:00
Eric Dobson
9a392d8c09 Add cgen/inv and use it.
original commit: 03373d11891800aad6bae04f8ccc3fdcb6703b88
2014-05-07 21:13:04 -07:00
Eric Dobson
5609e972b2 Make cset-meet take more than two arguments.
original commit: c7645170e36f5431d81595d2115010fd62071c9f
2014-05-07 21:13:03 -07:00
Sam Tobin-Hochstadt
52d81a3114 Add test that runs TR unit tests with contracts on.
original commit: 59ee811fb3a238e0203d1a7b5baa0986810c8d71
2014-05-07 12:21:25 -04:00
Sam Tobin-Hochstadt
baf7f6ccee Fix evaluator.rkt to work with dynamic-require.
original commit: 774afb6cafe6d547d40b20709f94a761dcf583bb
2014-05-07 12:21:25 -04:00