Re: HP 2015.2.0.0 and GHC 7.10

*Hey you....* yes you... Platform committee member, or Platform library
maintainer, Platform packager... that's right, you:
GHC 7.10 is about to be released. Wouldn't it rock if we came out with a
Platform within days? Or on the same day?
I know, I know, our process is long and full of discussion, and hard, and
slow.... let's smash that, eh? How'z'bout it?
OKAY? Good! Your task is:
- look over the the source file at GitHub
https://github.com/haskell/haskell-platform/blob/pre-release/hptool/src/Rele...
that
defines the release
- see if the version of your stuff looks right
- yeah, I bumped it all to latest, major or minor version change - so
APIs probably broke from last HP
- look near the end where there is a bunch of stuff I kinda just added
to get it all to compile
- read the notes about those things in the first message of this thread
(copied below)
- weigh in - short and sweet - if you have an opinion
- if you have a spare Mac - download it and try it!
http://www.ozonehouse.com/mark/platform/
Crazy, right? I know... but, can we do this?
— Mark
On Sun, Mar 22, 2015 at 10:13 PM, Mark Lentczner
I've gone ahead and built a very provisional, alpha version of 2015.2.0.0 using GHC 7.10 RC3.
I bumped all the GHC libs to the versions in 7.10, and bumped all the Platform libs to the latest versions I could find on Hackage. There were a few issues:
- *old-locale and old-time* - no longer part of GHC, but cabal-install, cgi & HTTP need them - and they are part of the platform - so included now as added packages. Not sure this is a great idea, since they are now very deprecated... but until cabal-install, cgi, & HTTP update, not sure what else to do. - *tf-random* - is now required by alex and QuickCheck - seems a shame to add this, as now we're going to have two random packages - *network-uri *- was split out of network, and needed by cabal-install, cgi, & HTTP. I suppose we should include it, as it was functionality and API that was part of the platform - *exceptions* & *multipart* - needed by cgi - is exceptions now subsumed by something in transformers? and... multipart? maybe time to drop cgi? We didn't have it last time anyway as it wouldn't compile! - *scientific* - needed by attoparsec - debated in detail last time ... and we're still here!
The Platform is significantly larger now: On OS X it has gone from 316M to 499M! Most of this is due to new OpenGL libs which are now huge (went from 98M to 239M!) GHC itself grew by 109M (to almost 1G), so that the whole installed magilla is 1.5G! Even the compressed installer is now 250M!
If you want to poke at it, the source is in the pre-release branch at GitHub https://github.com/haskell/haskell-platform/tree/pre-release, and the OS X builds are at my usual platform staging area:
Index of /mark/platform http://www.ozonehouse.com/mark/platform/
Remember, it already includes GHC, so no need to download the GHC binary for OS X that is there, too.
I'll try to get a generic linux build up soonish... but my VM now runs out of memory trying to build OpenGL - and adding more only makes my machine thrash to death!
- Mark

2015-03-25 7:31 GMT+01:00 Mark Lentczner
[...] look over the the source file at GitHub that defines the release see if the version of your stuff looks right
The OpenGLRaw and GLUTRaw versions are OK, for OpenGL and GLUT we should use newer versions I just released (OpenGL-2.12.0.0 and GLUT-2.7.0.0). These contain much requested API additions/generalizations. Furthermore, due to other popular requests like generalizing things and making OpenAL stuff independent from OpenGL, I split off improved StateVar (thanks to Edward Kmett!) and ObjectName packages again, which are now additional dependencies. This move was made in spite of all those bikeshedding discussions around them, because several actual package users requested them. ("Listen to your customers!") I simply don't want to be held back by eternal theoretical discussions anymore, instead let's ship what people actually want.
[...] look near the end where there is a bunch of stuff I kinda just added to get it all to compile [...]
As mentioned above, we need StateVar-1.1.0.0 and ObjectName-1.1.0.0 now, too. A +1 for including exceptions, but why version 0.6.1, which is quite old? I would propose including the latest and greatest 0.8.0.2 version. <rant>Regarding the random packages: Shipping 2 packages for basically the same thing is silly IMHO and a bad sign for something which claims to be a coherent set of APIs. Either these packages should be merged or the dependencies adapted. Offering choice for the same task has no place in the platform IMHO, we should ship what is considered the best/most widely used for each area. For the more arcane needs, there's always Hackage...</rant>

NO MOAR BIKESHEDS! I don't want to release in the platform an API that is out of date the day we release it. So we either go with the new (and I'm trusting Sven to vouch for 'it's the right API, we'll support this for the next year or so') - or we drop OpenGL* from the platform release - or we do "with and without" releases. Votes?

I'm personally a rather vocal proponent of the new OpenGL API changes.
I'd also in general favor a policy of greater trust when it comes to
library authors factoring out bits of their packages even once they become
part of the platform. We all want our code to work together.
The hand-wringing we've had over the splitting off of multipart from cgi
and ObjectName or StateVar from OpenGL because designers of packages like
sdl2 want to be able to support a common API without incurring a needless
OpenGL dependency is largely indicative of why some folks get scared of
their packages being included in the platform.
And, e.g. aeson's scientific dependency is needed to ensure data going
through the API doesn't lose precision, and due to stackage almost everyone
has adapted to its presence for over a year. Removing it would do nobody
any good. Let's bless it and move on.
-Edward
On Fri, Mar 27, 2015 at 10:41 AM, Mark Lentczner
NO MOAR BIKESHEDS!
I don't want to release in the platform an API that is out of date the day we release it. So we either go with the new (and I'm trusting Sven to vouch for 'it's the right API, we'll support this for the next year or so') - or we drop OpenGL* from the platform release - or we do "with and without" releases.
Votes?
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

Relatedly, theres a major version bump release of primitive that's due to
be cut soon, and in a month or two vector 0.11 will be ready for release
one way or another.
At the very least, we should try to get that new version of primitive ready
for release and onto platform, since it immediately upgrades the power of
any package that uses prim monad!
On Mar 27, 2015 11:28 AM, "Edward Kmett"
I'm personally a rather vocal proponent of the new OpenGL API changes.
I'd also in general favor a policy of greater trust when it comes to library authors factoring out bits of their packages even once they become part of the platform. We all want our code to work together.
The hand-wringing we've had over the splitting off of multipart from cgi and ObjectName or StateVar from OpenGL because designers of packages like sdl2 want to be able to support a common API without incurring a needless OpenGL dependency is largely indicative of why some folks get scared of their packages being included in the platform.
And, e.g. aeson's scientific dependency is needed to ensure data going through the API doesn't lose precision, and due to stackage almost everyone has adapted to its presence for over a year. Removing it would do nobody any good. Let's bless it and move on.
-Edward
On Fri, Mar 27, 2015 at 10:41 AM, Mark Lentczner
wrote:
NO MOAR BIKESHEDS!
I don't want to release in the platform an API that is out of date the day we release it. So we either go with the new (and I'm trusting Sven to vouch for 'it's the right API, we'll support this for the next year or so') - or we drop OpenGL* from the platform release - or we do "with and without" releases.
Votes?
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

On Fri, Mar 27, 2015 at 11:50 AM, Carter Schonwald < carter.schonwald@gmail.com> wrote:
Relatedly, theres a major version bump release of primitive that's due to be cut soon, and in a month or two vector 0.11 will be ready for release one way or another.
Is "soon" measured in hours? If not - I suggest that it misses. I'm pushing that we change how we do this Platform thing - and make it stick, like glue, to the GHC release schedule. Sure, this time 'round we'll be out of sync with those "it's almost there" packages... but next time we'll know it's coming and hopefully, we'll have these panic attacks as GHC is in beta not post-Release. - Mark

On March 27, 2015 at 10:47:12 PM, Mark Lentczner (mark.lentczner@gmail.com) wrote:
Is "soon" measured in hours? If not - I suggest that it misses.
I'm pushing that we change how we do this Platform thing - and make it stick, like glue, to the GHC release schedule. Sure, this time 'round we'll be out of sync with those "it's almost there" packages... but next time we'll know it's coming and hopefully, we'll have these panic attacks as GHC is in beta not post-Release.
+1 to this sentiment. Now that we can do efficient platform builds, better to release regularly and efficiently. Otherwise we’ll always be playing catch-up to “one more thing.” -g

With the advent of efficient build tools, would it be too outrageous to suggest we start to move to automated HP releases on an even faster (but rigid) schedule, e.g. weekly, or monthly? As new versions of libraries come out, they could be incorporated in the platform as soon as they are verified to build successfully with the other dependencies, and the next weekly/monthly bundle would have it. Then there would always be a "recent" Platform good enough for even the bleeding-edge types of users. It would eliminate the rush of "please can we hold off until foo is released in a few days time" requests, which has tended to cause schedule-drift in the past. Continuous integration FTW! Regards, Malcolm On 28 Mar 2015, at 02:58, Gershom B wrote:
On March 27, 2015 at 10:47:12 PM, Mark Lentczner (mark.lentczner@gmail.com) wrote:
Is "soon" measured in hours? If not - I suggest that it misses.
I'm pushing that we change how we do this Platform thing - and make it stick, like glue, to the GHC release schedule. Sure, this time 'round we'll be out of sync with those "it's almost there" packages... but next time we'll know it's coming and hopefully, we'll have these panic attacks as GHC is in beta not post-Release.
+1 to this sentiment. Now that we can do efficient platform builds, better to release regularly and efficiently. Otherwise we’ll always be playing catch-up to “one more thing.”
-g _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

Soon is now. I just published primitive-0.6 and vector-0.10.12.3 that
increments the version dependency for it. So they can go in if people want.
-- Dan
On Fri, Mar 27, 2015 at 10:46 PM, Mark Lentczner
On Fri, Mar 27, 2015 at 11:50 AM, Carter Schonwald < carter.schonwald@gmail.com> wrote:
Relatedly, theres a major version bump release of primitive that's due to be cut soon, and in a month or two vector 0.11 will be ready for release one way or another.
Is "soon" measured in hours? If not - I suggest that it misses.
I'm pushing that we change how we do this Platform thing - and make it stick, like glue, to the GHC release schedule. Sure, this time 'round we'll be out of sync with those "it's almost there" packages... but next time we'll know it's coming and hopefully, we'll have these panic attacks as GHC is in beta not post-Release.
- Mark
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

On Wed, Mar 25, 2015 at 1:02 AM, Sven Panne
A +1 for including exceptions, but why version 0.6.1, which is quite old? I would propose including the latest and greatest 0.8.0.2 version.
Ah - because gci 3001.2.2.0 has a bound on exceptions < 0.7. John Chee: I don't want to ship an old exceptions. Can update cgi or shall we keep cgi out this time 'round? - Mark

Just needs a bumped upper bound it seems.
On Sat, Mar 28, 2015 at 5:48 PM, Mark Lentczner
On Wed, Mar 25, 2015 at 1:02 AM, Sven Panne
wrote: A +1 for including exceptions, but why version 0.6.1, which is quite old? I would propose including the latest and greatest 0.8.0.2 version.
Ah - because gci 3001.2.2.0 has a bound on exceptions < 0.7.
John Chee: I don't want to ship an old exceptions. Can update cgi or shall we keep cgi out this time 'round?
- Mark
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

Mark: I'm bumping the dependency on exceptions now. I'll post back before
noon PDT if I get a release out.
If the entire platform release is blocked on this though, go ahead without
cgi.
Adam: Thanks for the investigation.
On Sat, Mar 28, 2015 at 10:11 AM, Adam Bergmark
Just needs a bumped upper bound it seems.
On Sat, Mar 28, 2015 at 5:48 PM, Mark Lentczner
wrote: On Wed, Mar 25, 2015 at 1:02 AM, Sven Panne
wrote: A +1 for including exceptions, but why version 0.6.1, which is quite old? I would propose including the latest and greatest 0.8.0.2 version.
Ah - because gci 3001.2.2.0 has a bound on exceptions < 0.7.
John Chee: I don't want to ship an old exceptions. Can update cgi or shall we keep cgi out this time 'round?
- Mark
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
-- Love in Jesus Christ, John Alfred Nathanael Chee http://www.biblegateway.com/ http://web.cecs.pdx.edu/~chee/

On Sat, Mar 28, 2015 at 10:28 AM, John Alfred Nathanael Chee < cheecheeo@gmail.com> wrote:
Mark: I'm bumping the dependency on exceptions now. I'll post back before noon PDT if I get a release out.
Rockin'! All: I appreciate the crazy weekend scramble! Alas, for me during the week I'm swamped with work (a good thing - it means my project there is going very well!) If this sync'ing with GHC releases path is well received, then next time we'll have a bit more (~1 month) runway! - Mark

Mark,
Release: http://hackage.haskell.org/package/cgi-3001.2.2.1
Platform pull request: https://github.com/haskell/haskell-platform/pull/169
On Sat, Mar 28, 2015 at 10:49 AM, Mark Lentczner
On Sat, Mar 28, 2015 at 10:28 AM, John Alfred Nathanael Chee < cheecheeo@gmail.com> wrote:
Mark: I'm bumping the dependency on exceptions now. I'll post back before noon PDT if I get a release out.
Rockin'!
All: I appreciate the crazy weekend scramble! Alas, for me during the week I'm swamped with work (a good thing - it means my project there is going very well!) If this sync'ing with GHC releases path is well received, then next time we'll have a bit more (~1 month) runway!
- Mark
-- Love in Jesus Christ, John Alfred Nathanael Chee http://www.biblegateway.com/ http://web.cecs.pdx.edu/~chee/

Thanks, John! Alpha 2 is now out: - github commit https://github.com/haskell/haskell-platform/commit/fa90210b908e26616904d8f0d... - OS X Build: Haskell Platform 2015.2.0.0 alpha 2 64bit.pkg http://www.ozonehouse.com/mark/platform/Haskell%20Platform%202015.2.0.0%20al... Notable changes: - Based on GHC 7.10.1 release - updated attoparsec - updated cgi - brand spanking new major release of OpenGL & GLUT (and related packages) - brand new primitive - updated vector - modern exceptions - updated cabal-install - added ObjectName, StateVar, and transformers-compat, needed by the above Whew! I'll be building the ubuntu based generic build tonight (just got a brand new Intel NUC for this!) Keep the cards and letters coming! Test it out! Review the versions! *Look over the issues list on GitHub https://github.com/haskell/haskell-platform/issues, and see if there is anything we need to fix before going final sometime in the next few days.* - Mark

cabal-install should be 1.22.2.0 (latest). Otherwise looks good.
On Mar 25, 2015 7:32 AM, "Mark Lentczner"
*Hey you....* yes you... Platform committee member, or Platform library maintainer, Platform packager... that's right, you:
GHC 7.10 is about to be released. Wouldn't it rock if we came out with a Platform within days? Or on the same day?
I know, I know, our process is long and full of discussion, and hard, and slow.... let's smash that, eh? How'z'bout it?
OKAY? Good! Your task is:
- look over the the source file at GitHub https://github.com/haskell/haskell-platform/blob/pre-release/hptool/src/Rele... that defines the release - see if the version of your stuff looks right - yeah, I bumped it all to latest, major or minor version change - so APIs probably broke from last HP - look near the end where there is a bunch of stuff I kinda just added to get it all to compile - read the notes about those things in the first message of this thread (copied below) - weigh in - short and sweet - if you have an opinion - if you have a spare Mac - download it and try it! http://www.ozonehouse.com/mark/platform/
Crazy, right? I know... but, can we do this?
— Mark
On Sun, Mar 22, 2015 at 10:13 PM, Mark Lentczner
wrote:
I've gone ahead and built a very provisional, alpha version of 2015.2.0.0 using GHC 7.10 RC3.
I bumped all the GHC libs to the versions in 7.10, and bumped all the Platform libs to the latest versions I could find on Hackage. There were a few issues:
- *old-locale and old-time* - no longer part of GHC, but cabal-install, cgi & HTTP need them - and they are part of the platform - so included now as added packages. Not sure this is a great idea, since they are now very deprecated... but until cabal-install, cgi, & HTTP update, not sure what else to do. - *tf-random* - is now required by alex and QuickCheck - seems a shame to add this, as now we're going to have two random packages - *network-uri *- was split out of network, and needed by cabal-install, cgi, & HTTP. I suppose we should include it, as it was functionality and API that was part of the platform - *exceptions* & *multipart* - needed by cgi - is exceptions now subsumed by something in transformers? and... multipart? maybe time to drop cgi? We didn't have it last time anyway as it wouldn't compile! - *scientific* - needed by attoparsec - debated in detail last time ... and we're still here!
The Platform is significantly larger now: On OS X it has gone from 316M to 499M! Most of this is due to new OpenGL libs which are now huge (went from 98M to 239M!) GHC itself grew by 109M (to almost 1G), so that the whole installed magilla is 1.5G! Even the compressed installer is now 250M!
If you want to poke at it, the source is in the pre-release branch at GitHub https://github.com/haskell/haskell-platform/tree/pre-release, and the OS X builds are at my usual platform staging area:
Index of /mark/platform http://www.ozonehouse.com/mark/platform/
Remember, it already includes GHC, so no need to download the GHC binary for OS X that is there, too.
I'll try to get a generic linux build up soonish... but my VM now runs out of memory trying to build OpenGL - and adding more only makes my machine thrash to death!
- Mark
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

On Tue, Mar 24, 2015 at 11:31 PM, Mark Lentczner
*old-locale and old-time* - no longer part of GHC, but cabal-install, cgi & HTTP need them - and they are part of the platform - so included now as added packages. Not sure this is a great idea, since they are now very deprecated... but until cabal-install, cgi, & HTTP update, not sure what else to do....
*exceptions* & *multipart* - needed by cgi - is exceptions now subsumed by
something in transformers? and... multipart? maybe time to drop cgi? We didn't have it last time anyway as it wouldn't compile!
Mark, Thanks for all your hard work on the platform. Haskell Platform compliance is not currently a goal of cgi and since it wasn't in the platform last round I'd say it should be treated as a package attempting to be accepted into the Haskell Platform. Are old-time and old-locale really deprecated? If so, can libraries@haskell.org use the nifty 'Deprecated in favor of ...' feature of hackage like MonadCatchIO-mtl [1] does? Regarding depedencies, since I've taken over maintenance of cgi the primary goal has been getting it able to compile with the latest GHC. Compiling with GHC 7.8 meant dropping MonadCatchIO-mtl and using exceptions. multipart is nearly a bit for bit copy of some internal cgi code, rather than duplicating the code, cgi added it as a dependency. [1] http://hackage.haskell.org/package/MonadCatchIO-mtl -- Love in Jesus Christ, John Alfred Nathanael Chee http://www.biblegateway.com/ http://web.cecs.pdx.edu/~chee/
participants (10)
-
Adam Bergmark
-
Carter Schonwald
-
Dan Doel
-
Edward Kmett
-
Gershom B
-
Johan Tibell
-
John Alfred Nathanael Chee
-
Malcolm Wallace
-
Mark Lentczner
-
Sven Panne