-
Notifications
You must be signed in to change notification settings - Fork 298
Add PureScript 0.14 migration guide #373
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
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.
Very well done! Just a few comments and other suggestions. I'll fix some of the obvious things and leave the rest up for more discussion.
Co-authored-by: Cyril <[email protected]>
Co-authored-by: Cyril <[email protected]>
Co-authored-by: Harry Garrood <[email protected]>
I think a migration-guides directory is a great idea. Incidentally we already have an 0.10 migration guide in the |
…ation-guides/0.14-Migration-Guide.md
I've moved the file to |
…n-guides/0.14-Migration-Guide.md
The historical guides could be moved, but the 0.10 one is quite skimpy and the 0.5-and-before one is a bit of a grab bag. Given the age of those releases, perhaps we should just begin a new tradition with this guide? |
I think all guides, however skimpy or terrible, should go in the migration folder. Otherwise, someone will open an issue and PR fixing that in the future. |
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 fixed a few things and left a last suggestion. Otherwise this looks very good to me!
Regarding the historical directory: I wouldn’t mind moving the 0.10 migration guide to the migration-guides directory introduced in this pull request, even if its quite succinct. On the other hand the pre-0.5 changelog isn’t even an attempt of a migration guide so I don’t think we should move it.
1. Export the newtype constructors, or | ||
1. Remove the `Newtype` instance -- a breaking change, but the correct option if you used hidden constructors to make your newtype a smart constructor. | ||
|
||
#### The `MonadZero` class has been deprecated. |
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.
Compiling core modules exporting MonadZero instances, such as Data.List or Data.Maybe, will yield deprecation warnings until we remove the instances. Should we mention that those warnings can be hidden by installing psa
and compiling with psa --censor-codes=UserDefinedWarning
?
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.
Should we mention...
Yeah, we should.
Let's ignore the issue of the 0.10 migration guide and pre-0.5 release notes for now, there's enough going on in this PR already. |
Co-authored-by: Harry Garrood <[email protected]>
This is a first draft of a migration guide for the 0.14 compiler and core libraries. I believe it covers the most disruptive changes we've made.
If anyone on the core team would like to apply a change to this file that they feel is uncontroversial, please go ahead! You don't need to wait on me to see and apply the feedback. For example, I've included issue and pull request links where possible, but I've missed some -- especially in the library restructuring section as there were so many fragmented ones.
Notes:
I haven't included links to the PureScript 0.14 release notes or announcement because they aren't ready yet, but I can update those links at any time. (We could make an issue to circle back to it, too, so that this can be merged).
I don't know where the proper place to put this file is; ideally we'd end up with one of these migration guides for every ecosystem change. I may have missed previous ones we've put together -- if anyone knows the right place for this file please let me know. Otherwise perhaps we could create a
migration-guides
directory?A huge thank you to @JordanMartinez for his draft of ecosystem updates he's been maintaining since we started this whole release, and to the detailed changelogs, notes, and discussions that @kl0tl, @rhendric, @hdgarrood, @garyb, and others have kept when discussing and implementing these changes.