-
Notifications
You must be signed in to change notification settings - Fork 21
Update to v0.14.0-rc2 #63
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
CI will fail until my "Port |
I believe CI will pass if restarted again. |
Because warnings count as errors, CI is not passing because of this warning:
|
Are you able to apply that suggestion to silence the warning? |
I don't think so. I'd have to look at this again, but I remember this being a problem in a variety of ways because we don't have data kinds yet. |
If I apply that suggestion, I get a compiler error:
because the module Type.Data.Ordering
(module PO)
where
import Prim.Ordering (EQ, GT, LT, Ordering) as PO
import Prim.Ordering (LT, EQ, GT)
import Data.Ordering (Ordering(..)) When I do import it, module Type.Data.Ordering
(module PO)
where
import Prim.Ordering (EQ, GT, LT, Ordering) as PO
import Prim.Ordering (LT, EQ, GT, Ordering) -- <- added Ordering kind here
import Data.Ordering (Ordering(..)) ...the warning becomes a compiler error:
|
Kind unification isn't affected by whether or not the kinds in question are in scope, so that error won't be because Ordering isn't imported. I think you might have been using an older version of the branch, because applying that suggestion (and fixing the Ordreing typo) fixes the build for me. |
I think it was the I think my understanding our the syntax was also wrong. I thought |
src/Type/Row.purs
Outdated
-- | ``` | ||
-- | APPLY Maybe Int == Maybe $ Int == Maybe Int | ||
-- | ``` | ||
type APPLY ∷ ∀ d c . (d → c) → d → c |
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.
Could you use the non-unicode versions: forall
and ->
here, please? I know it's a bit of a nit but we have a policy for the core libraries that we use ASCII syntax. Also, is there a reason not to use a
and b
as the type variable names? I think it would be good if the signature matched that for the term-level version of $
.
type APPLY ∷ ∀ d c . (d → c) → d → c | |
type APPLY ∷ forall a b. (a -> b) -> a -> b |
I also don't think APPLY and FLIP belong in Type.Row
, since they don't really have anything to do with rows. Perhaps they could go into a new module Type.Function
, to mirror the term-level versions which live in Data.Function
?
src/Type/Row.purs
Outdated
-- | breakage, `# Type` was made an alias to `Row Type`. When the `# Type` | ||
-- | syntax is fully dropped in a later language release, we can then | ||
-- | support the infix version: `Int # Maybe`. | ||
type FLIP ∷ ∀ d c . d → (d → c) → c |
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.
Same here re unicode syntax and type variable names
I've updated the PR to remove the unicode syntax and moved the APPLY and FLIP to |
proxy
dependency as this is now (or soon will be) included inprelude
Note: this does produce the following compiler warning, which I had forgotten about: