Skip to content

Conversation

@LiamGoodacre
Copy link
Member

@LiamGoodacre LiamGoodacre commented Sep 26, 2017

Fixes #3072

subsumes' mode ty1 ty2
subsumes' mode ty1 (KindedType ty2 _) =
subsumes' mode ty1 ty2
subsumes' mode (ProxyType ty1) (ProxyType ty2) =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't have proxies for polymorphic things, so I don't know why we need this. In any case, I don't think it's true that Proxy is necessarily covariant.

check' (PositionedValue pos c val) ty = warnAndRethrowWithPositionTC pos $ do
TypedValue t v ty' <- check' val ty
return $ TypedValue t (PositionedValue pos c v) ty'
check' p@(Proxy ty1) ty2 = do
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need this case. Falling through to infer should work.

@paf31
Copy link
Contributor

paf31 commented Sep 26, 2017

Looks good! Do we skolemize the type under the Proxy constructor yet in skolemizeTypesInValue? We probably should.

Edit: just checked, yes we do.

@LiamGoodacre
Copy link
Member Author

@paf31, thanks for reviewing so quickly. I was sure there'd be some redundant changes - I changed lots of stuff until it worked and hadn't worked out which bits actually mattered.

@LiamGoodacre LiamGoodacre changed the title WIP fixing some issues with proxies Fixing some issues with proxies Sep 27, 2017
Copy link
Contributor

@paf31 paf31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks great!

@LiamGoodacre LiamGoodacre merged commit fe0aa0d into purescript:master Oct 1, 2017
@LiamGoodacre LiamGoodacre deleted the fix/proxies branch October 1, 2017 22:47
hdgarrood added a commit that referenced this pull request Dec 30, 2017
@hdgarrood hdgarrood mentioned this pull request Dec 30, 2017
hdgarrood added a commit that referenced this pull request Jan 3, 2018
* Revert "pretty print proxy types when rendering docs (#3144)"

This reverts commit 14227c7.

* Revert "Print proxy type as an operator (#3124)"

This reverts commit cfd1db3.

* Revert "Fix proxies: synonyms, inference, traversals, instances (#3095)"

This reverts commit fe0aa0d.

* Revert "Add proxies (#2846)"

This reverts commit 74bc4a9.

* Remove one last occurrence of the ProxyType constructor

* Update tests to not use new proxies
matthewleon pushed a commit to matthewleon/purescript that referenced this pull request Jan 6, 2018
* Revert "pretty print proxy types when rendering docs (purescript#3144)"

This reverts commit 14227c7.

* Revert "Print proxy type as an operator (purescript#3124)"

This reverts commit cfd1db3.

* Revert "Fix proxies: synonyms, inference, traversals, instances (purescript#3095)"

This reverts commit fe0aa0d.

* Revert "Add proxies (purescript#2846)"

This reverts commit 74bc4a9.

* Remove one last occurrence of the ProxyType constructor

* Update tests to not use new proxies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants