-
Notifications
You must be signed in to change notification settings - Fork 571
Fixing some issues with proxies #3095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| subsumes' mode ty1 ty2 | ||
| subsumes' mode ty1 (KindedType ty2 _) = | ||
| subsumes' mode ty1 ty2 | ||
| subsumes' mode (ProxyType ty1) (ProxyType ty2) = |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
|
Looks good! Do we skolemize the type under the Edit: just checked, yes we do. |
|
@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. |
paf31
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks great!
This reverts commit fe0aa0d.
* 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
* 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
Fixes #3072