Skip to content
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

Update to v0.14.0-rc3 #122

Merged
merged 8 commits into from
Dec 4, 2020
Merged

Update to v0.14.0-rc3 #122

merged 8 commits into from
Dec 4, 2020

Conversation

JordanMartinez
Copy link
Contributor

@JordanMartinez
Copy link
Contributor Author

@kl0tl I'd like your suggestions on role annotations for this PR. Perhaps you could submit a PR after this one?

@kl0tl
Copy link
Contributor

kl0tl commented Dec 3, 2020

Role annotations are only necessary to relax the nominal roles of foreign data types or to restrict the roles of phantom parameters when they should satisfy some implicit invariant.

There’s no such types here: Forget and Tagged have phantom parameters but as far as I know there’s no invariant to preserve by restricting their roles.

I have audited the purescript-contrib org again to confirm but all the types benefiting from more precise roles have pull requests already:

@JordanMartinez
Copy link
Contributor Author

Ok. Thanks for clarifying that. I'll post your comment in the meta issue to track that.

@kl0tl
Copy link
Contributor

kl0tl commented Dec 3, 2020

There’s some usages of SProxy to replace by Proxy or polymorphic type variables in Data.Lens.Record and Test.Main.

@JordanMartinez
Copy link
Contributor Author

Fixed. Thanks for the reminder!

@MonoidMusician
Copy link
Contributor

I don't feel strongly about it, but it does feel a little weird to me to have kind-polymorphic definitions for things like Getter, when they are never used with a kind other than Type and I don't foresee a use case for them with other kinds. Maybe for individual profunctors like Forget and Tagged it would be useful (for instance, Tagged :: Boolean -> Type -> Type might be useful).

My main concern is that being polymorphic might lead to harder-to-interpret errors in some cases, but I don't know (I haven't tried out kind polymorphism yet).

@JordanMartinez
Copy link
Contributor Author

I just used the suggestion from the compiler to get this in as fast as possible. I'm not familiar with these types' usages. So, if they can only be used with Type, I say we fix them to that kind.

@JordanMartinez
Copy link
Contributor Author

My main concern is that being polymorphic might lead to harder-to-interpret errors in some cases, but I don't know (I haven't tried out kind polymorphism yet).

I've pushed a commit that undoes that. Can I get another review?

@MonoidMusician
Copy link
Contributor

Yes, that looks great to me :)

@JordanMartinez
Copy link
Contributor Author

I'll count that as an approval to this PR then.

packages.dhall Outdated
@@ -1,4 +1,4 @@
let upstream =
https://github.com/purescript/package-sets/releases/download/psc-0.13.8-20201007/packages.dhall sha256:35633f6f591b94d216392c9e0500207bb1fec42dd355f4fecdfd186956567b6b
https://raw.githubusercontent.com/purescript/package-sets/prepare-0.14/src/packages.dhall sha256:f591635bcfb73053bcb6de2ecbf2896489fa5b580563396f52a1051ede439849
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you want to remove this hash for the time being?

@JordanMartinez JordanMartinez merged commit cddc073 into purescript-contrib:main Dec 4, 2020
@JordanMartinez JordanMartinez deleted the updateTo14 branch December 4, 2020 04:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants