Commit Graph

3711 Commits

Author SHA1 Message Date
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
Eric Dobson
df0b694cfd Improve filter simplification.
(T @ x) => (! S @ x) when their intersection is empty.
Rearrange how we look through filters in -and so this rule applies more.

original commit: 5fa263b232c03b050e724185179e159c3f00685d
2014-06-09 19:51:10 -07:00
Eric Dobson
4e4fc660c7 Remove tc/lambda/check.
original commit: 0feefd347edfd7ce71045a63b57bf21a8bf97aba
2014-06-09 19:51:10 -07:00
Eric Dobson
c8d2cfd42b Remove tc/app/check.
original commit: ff1a852caf93cc9bc6150e319a97ac087477d242
2014-06-09 19:51:10 -07:00
Eric Dobson
a1bd25db1e Remove tc-body, and 0 arg case in tc-body/check.
original commit: d683ef2342a77fca0a657869ff7b09a2d77982d9
2014-06-09 19:51:09 -07:00
Eric Dobson
e030ea072f Remove conditional tc-expr/check splits that no longer need to exist.
original commit: 32db0e2ff72808fbb592e522d0cb305f3904c07a
2014-06-09 19:51:09 -07:00
Eric Dobson
3cf53c81ac Make tc-expr the same implementation as tc-expr/check.
original commit: a8bc079c4b419174d87cf9e2952ce264d40d74f5
2014-06-09 19:51:09 -07:00
Asumu Takikawa
e121d6500a Adjust TR error message for consistency
The non-productive type check in type parsing and in type
alias setup should produce the same failure messages.

original commit: 5431ddb6c1559f9dc6428b07d1bf340f0fd82759
2014-06-09 13:57:26 -04:00
Asumu Takikawa
022378369a Disallow non-productive PolyRow types
Closes PR 14554

original commit: 4ee5f3f653cea26dd01a7fc5bd9d707ef1581ce4
2014-06-09 13:55:58 -04:00
Asumu Takikawa
e79a3903b5 Fix printing for certain list types with a mu var
Closes PR 14552

original commit: bbc6a6b42d20c882cb4c06b9ea6470793a3905c3
2014-06-09 13:38:20 -04:00
Asumu Takikawa
dfa444cf5b Don't lose syntax locations for TR define
Closes PR 14544

original commit: ca8d8346b6d6f99338f1b325cf8f1b412ccefd87
2014-06-05 11:22:32 -04:00
Eric Dobson
1fa2b759e3 Correctly combine or filters in combine-props.
Closes PR 14534.

original commit: 48ac219d6fa56165fa7641eca8d74f30d609781c
2014-06-02 22:54:00 -07:00
Matthew Flatt
cb492b9981 rackunit/docs-complete: move to the "racket-index" package
Modules are not supposed to move to different packages, anymore, so
I'm breaking a rule. The problem is that having `rackunit/docs-complete`
in "scribble-lib" made "scribble-lib" depend on "racket-index", and
that's an undesirable dependency. (Installing Scribble shouldn't
force you to have Racket documentation.) I should have noticed
the problem when I moved `setup/xref` to "racket-index", but I missed
it.

As far as I can tell, there's only one package on pkgs.racket-lang.org
that isn't in the main repository and uses `rackunit/docs-index`. The
package doesn't correctly declare its dependencies, anyway.

original commit: d33c2252e10dbeb22e49c85f03707345e2756ce5
2014-06-02 12:34:12 +01:00
Eric Dobson
085b36180b Fix TR unit tests.
Make new tests actually run as part of the unit tests.
Make them not broken.
Fix broken package dependencies.

original commit: 1d64e37c3b083a65db67e79865c09d24b4316855
2014-06-01 10:14:37 -07:00
Eric Dobson
4c6cf07310 Add more abbreviations to init-envs.
Make List: matcher require being a Type.

original commit: e4e0ec483f954612184d83262aeddca7eb2639f0
2014-05-31 17:46:25 -07:00
Eric Dobson
c1c7f04f3c Fix broken match clause for accessors.
original commit: 314584d05ecd64d87038b64b6f2f88abea1e3910
2014-05-31 15:33:55 -07:00
Eric Dobson
a5b0975a39 Simplify 8 cases of filter printing to 2.
original commit: b8f618b57dcfafd185bf9d6a2b170277f33e9434
2014-05-31 14:34:34 -07:00
Eric Dobson
f222288f1b Add checks to asym filter patch to match symmetric case.
original commit: 205aeaeca326c7baf779a15556929edc9019ab59
2014-05-31 14:34:34 -07:00
Eric Dobson
ac571641ba Remove extra default path arg to -filter calls.
original commit: 81804760c5a3015af9cca5ede1820c6e4f5cef23
2014-05-31 14:34:34 -07:00
Eric Dobson
632338c231 Make inference on (list a ..) work better.
original commit: e55f39dccd2505d36b31372c1e0587ca78478055
2014-05-31 10:20:38 -07:00