Eric Dobson
8201d0d052
Do not rebuild the environment made by check-non-recursive-clauses.
...
original commit: 7701e8af5118e5a8cb855cf96c9a4ae9c3556dd9
2014-06-23 21:46:03 -07:00
Eric Dobson
8d2615131f
Make with-lexical-env/extend-props not execute its body if its dead.
...
original commit: 203311e9933df681799c0399a6889a98c1b8f9c0
2014-06-23 21:46:02 -07:00
Eric Dobson
0cef9a0625
Simplify and document compact.
...
original commit: e8c14839e11847066bda841d5027b992b89fb253
2014-06-23 21:38:27 -07:00
Eric Dobson
f850aa0919
Change type<? to rep<?.
...
Also moves type-equal and rep<? to rep-utils.
original commit: c66d0286cf104d5f30635e850caad504f7201b49
2014-06-23 21:07:59 -07:00
Eric Dobson
259ab755d0
In -and move the NotTypeFilters to the begining as well.
...
original commit: 7f721ef5d87dcc9b1eb1f447a94b087e8d3c647b
2014-06-23 21:07:59 -07:00
Asumu Takikawa
8013ad6e43
Fix type for syntax-local-phase-level
...
original commit: 1e67fb16e6f7ae28932a6ad5c01569dca28b3b48
2014-06-23 11:48:39 -04:00
Eric Dobson
5061f01d35
Add contracts to filter-ops.
...
original commit: 1271c117810c0593a625fe8aad3379cee867bbb8
2014-06-22 19:43:45 -07:00
Eric Dobson
b05b207667
Make combine-results work with tc-result/c.
...
original commit: 7acc9eaf0a3111101fd2781bc6c760be4c0a1eef
2014-06-20 23:52:09 -07:00
Eric Dobson
9d60283c46
Fix subtype for filters in AnyValues.
...
original commit: fc649c6b992b4173f78e82a4a54b069b2c16c0e4
2014-06-20 23:11:38 -07:00
Eric Dobson
cd53de226c
Add test cases for subtyping of -Bottom.
...
original commit: b199527ec28dcdba51e45878b16ad6f71f479582
2014-06-20 21:46:23 -07:00
Eric Dobson
2305c21c22
Add match expander for functions and arities together.
...
original commit: 30809eb841cf372faf8423816f61cd94668ea7b9
2014-06-20 21:30:25 -07:00
Eric Dobson
17942318ba
Add bottom as a special case in multiple value context.
...
original commit: 11e19caa026d2edae8ed0640b426c516eec8a943
2014-06-20 21:30:25 -07:00
Eric Dobson
7b1b0d2a1f
Make funapp take a Type/c instead of a tc-results?.
...
original commit: 5af90e65e9d6e1ee8307a848d705b0f5e56528c4
2014-06-20 21:30:25 -07:00
Eric Dobson
fc62fad0bc
Only match on f-type in tc/funapp.
...
original commit: cb243606ab437be1e52e0dc6946d5e0133fa4c27
2014-06-20 21:30:25 -07:00
Eric Dobson
f5987da27c
Remove extraneous patterns in tc/funapp.
...
Also improves error messages on cases which return AnyValues/ValuesDots.
original commit: 919e03b9f76c25ec6a08dcd698a8512ea9b0ecdd
2014-06-20 21:30:25 -07:00
J. Ian Johnson
55f68caac5
Closes PR14589.
...
original commit: bacbafad9fa223c0ae4ae1bdc8a748b4f54369ce
2014-06-20 14:08:25 -04:00
Asumu Takikawa
9052bb40a2
Give more information for kw errors in TR
...
Tells the user which missing keywords were mandatory and
which were optional (which is useful if, e.g., the expected type
says mandatory but the function had it optional).
original commit: 8b53d32f5231f94677e1088b940e92a71ed1e311
2014-06-20 12:21:45 -04:00
Asumu Takikawa
6c0da3e041
Check kw functions with optional arguments better
...
In particular, allow the optional kws to be left out in the
expected type (a function type with fewer optional kws is
a supertype).
Closes PR 14583
original commit: 8755e625568705aa078e46e0407dd87cbbe00d89
2014-06-20 12:14:43 -04:00
Asumu Takikawa
52203268fa
Rework how keyword methods are handled by TR
...
Override the `define/foo` forms for racket/class to
allow type annotations and to use TR's keyword property.
original commit: 4aa438937ac315d0b64bccffa86663a97cadde6f
2014-06-19 17:12:54 -04:00
Asumu Takikawa
0df6969e80
Check function kws against expected before tc-expr
...
This checks that the given lambda has the right keywords
wrt to the expected type. Doing this should avoid the bad
arity errors that result from the kw protocol encoding.
Closes PR 13898
original commit: 2d81c9667c67249dd35a1f3e73d03d406dd28c56
2014-06-19 17:12:06 -04:00
Matthew Flatt
11f0e1021b
unbreak build
...
I have no idea whether the change is generally right, but it allows
the build to complete and DrRacket to start.
original commit: 5b028396df6b80ab0a4333b8fc929f1f8d1f15b3
2014-06-19 06:21:27 +01:00
Eric Dobson
2ee4c7a086
Make TypeFilter and NotTypeFilter have a Path as a subcomponent.
...
This changes Filters to have a Path as a subcomponent instead of having
the list of Path-Elems and name-ref/c separately. This is part of the
rework to have better object support.
original commit: 3831cb135ea65d259edb291836b9a2c46a32411b
2014-06-18 20:09:26 -07:00
Vincent St-Amour
d6a5634246
Make type of make-vector more precise.
...
Before that, ((inst make-vector Natural) 10) would return a (Vectorof
Integer) which is bad.
Thanks to Alexander Knauth for the suggestion!
original commit: aab724de351556b7def913c67797077df719fa54
2014-06-18 18:48:55 -07:00
Eric Dobson
1649aab8e3
Correctly instantiate poly dots during inference.
...
This removes the need for the cache of type variables for instantiating
dotted variables, because we instantiate the uses at once.
Closes PR 14576.
Closes PR 14577.
Closes PR 14579.
Closes PR 14580.
original commit: fecaf5127dd51fd11eeb043887f336bfca71810e
2014-06-16 23:01:39 -07:00
Eric Dobson
f518b184a0
Make cgen/seq for lists be used more often.
...
original commit: 6d975ea6bb4ff01171edef899dd53e92600c91a8
2014-06-16 21:51:24 -07:00
Eric Dobson
5b2caf1c1e
Replace abstract-results with replace-names.
...
Also moves large comment over to with replace names since it is now
doing the heavy lifting.
original commit: 050c1022c94a933dde368c20ad5701dd76768a39
2014-06-16 21:08:00 -07:00
Eric Dobson
448ada8c62
Correctly add scopes to incoming objects in replace-names.
...
original commit: 1ec00bb6029a251ae0415620a5d38e43289da162
2014-06-16 21:08:00 -07:00
Eric Dobson
2b0df2f960
Make tc-results->values not drop filters.
...
original commit: 2ba070c6b31f7c2f7dcd36d52d9cce41b0436d9e
2014-06-16 21:07:59 -07:00
Eric Dobson
d974ded412
Add test requiring filters on AnyValues.
...
original commit: bb25a2332ccd911c69addbc33b4ae8b45afc1cb6
2014-06-16 21:07:59 -07:00
Eric Dobson
64cb6f9bea
Simplify values->tc-results.
...
Also fixes a bug in subst-tc-results not substituting into the dotted
type.
original commit: 2f39323b8c019aaf5cf28891c529f541b7db7f0c
2014-06-16 21:07:59 -07:00
Eric Dobson
5080fd5bee
Merge open-Values and values->tc-results.
...
original commit: 577b00a170434316567372564f2e096cdfb063dd
2014-06-16 20:57:53 -07:00
Eric Dobson
b9b038bfb9
Remove bad branch it tc-lambda, and support code in values->tc-results.
...
The branch was bad because Values is not a valid Type/c.
original commit: 8d7f12a793bfe0e98484606f730517ec30451d8c
2014-06-16 20:24:00 -07:00
Eric Dobson
cbec4bd4e5
Substitute into the dotted type of tc-results.
...
original commit: 911b3ee8ee0fc99a070d0be5d1af0a79b21f4b64
2014-06-16 20:07:19 -07:00
Eric Dobson
f1bf4a07fd
Make the filter actually be opened up in the AnyValues case.
...
original commit: 385729260faa861086a46bc54d765baa47b7cd3f
2014-06-16 20:07:18 -07:00
Eric Dobson
c709f11b9b
Add a bunch of unit tests for open-Values.
...
original commit: 8e63b65fa23b9190a74a282e7c7406186262defa
2014-06-16 20:07:18 -07:00
Eric Dobson
cdb16d29e7
Move to open-Values instead of open-Result.
...
original commit: 2922440fdda68ed4d62a5cc82b8c397ac56edd15
2014-06-16 20:07:18 -07:00
Eric Dobson
0e7dae36e5
Add vars to tvar environment when infering poly function applications.
...
original commit: f47159be466908138421d4a051019ab694bc9fe6
2014-06-14 15:53:02 -07:00
Eric Dobson
c69047e11e
Remove ability to check unreachable code.
...
If code is unreachable then looking up any variable should return
Bottom. But implementing checking unreachable code that way is not that
useful.
original commit: 76c3ec443f95150338a2b2f97d296dd97a17ffb2
2014-06-14 11:40:05 -07:00
Vincent St-Amour
97ac1da181
Fix occurrence typing when comparing Byte and Positive-Rationa.
...
Closes PR14568.
original commit: 8b6d3e9117667ccd5cdde9dabea0c2a843e7fb63
2014-06-13 21:59:56 -07:00
Eric Dobson
2170e9f6d6
Fix type of stx->list.
...
original commit: dad3c3008d76e168e470a4dace9cfa5d8f579f9e
2014-06-11 20:03:20 -07:00
Asumu Takikawa
0058d5d0de
Fix check-unreachable-code? mode in TR
...
original commit: 07c944f337345932544bcbfce6956fe3d175c130
2014-06-11 16:33:19 -04:00
Sam Tobin-Hochstadt
2bce000075
Fix test case for last commit.
...
There ought to be a way to improve the type of `apply-pattern-substitute`,
but we haven't found it yet.
original commit: 1380cfea346dd8a56ee7c9110b6da4fbc2ed2f96
2014-06-11 12:31:58 -04:00
Sam Tobin-Hochstadt
81614d110c
Fix bug in type of apply-pattern-substitute
.
...
Found by @takikawa.
original commit: 3273944af50689025bd5b19a3305bf5209d8e8cb
2014-06-11 12:20:48 -04:00
Asumu Takikawa
47cb2e7469
Handle union of different values for functions too
...
Closes PR 14557
original commit: b3a477d6180332a1bdc413ad3e710666df521718
2014-06-10 11:39:30 -04:00
Asumu Takikawa
e03538a1ac
Allow send
to union of objects
...
Also fix TR `send` for multiple/any values as receiver
Now emits a real type error instead of crashing with
an internal match error.
Closes PR 14547
original commit: 7743386eec4f5d752f5f87dab52e2da43bd11926
2014-06-10 11:39:08 -04:00
Asumu Takikawa
64a4fd6e1d
Refactor tc-send, delete trailing whitespace
...
original commit: ba7703b015a998bc9e18f61cb487a3a4f7a8adab
2014-06-10 11:39:08 -04:00
Asumu Takikawa
15bc190252
Fix error case for merge-tc-results
...
original commit: ded8858f55d19cd0bb8f3d937839c9fca9dff063
2014-06-10 11:39:07 -04:00
Eric Dobson
222133ac5d
Fix contract on tc-result.
...
original commit: 0902fe2fa9376c5bbd7508a9985f9d652e73b5db
2014-06-09 23:33:22 -07:00
Eric Dobson
97371ccfa0
Remove distinction between check and non check variant of check-subforms-unit.
...
Use new merge-tc-results as well.
This revealed some buggy tests as well which are also fixed.
original commit: 17c43c35ec371d17e0a1f52ba7f78cd32fc51ae9
2014-06-09 20:34:31 -07:00
Eric Dobson
6b8ae7dcf4
Move tc-if merging results logic to tc-metafunctions for reuse.
...
original commit: 447b52855fc34e2146b5b51dca572924f9f80417
2014-06-09 19:51:10 -07:00