
Hello core libraries committee, on the library submissions page on the Haskell wiki it says: "The core libraries ... define basic APIs that are expected to be available in any Haskell implementation." Is this list of those core libraries and their maintainers up-to-date: http://www.haskell.org/haskellwiki/Library_submissions#The_Core_Libraries I am asking, since GHC 7.8.3 also includes: * binary * bytestring * filepath * haskeline * hoopl * integer-gmp * terminfo * transformers But they are not core libraries. Is that correct? And GHC 7.8.3 doesn't include: * mtl * parallel * primitive * random * vector But they are core libraries. Is that correct? Cheers, Thomas

On Sat, Sep 27, 2014 at 1:13 PM, Thomas Miedema
on the library submissions page on the Haskell wiki it says: "The core libraries ... define basic APIs that are expected to be available in any Haskell implementation."
Is this list of those core libraries and their maintainers up-to-date: http://www.haskell.org/haskellwiki/Library_submissions#The_Core_Libraries
I am asking, since GHC 7.8.3 also includes: * binary * bytestring * filepath * haskeline * hoopl * integer-gmp * terminfo * transformers But they are not core libraries. Is that correct?
There is a difference between the libraries needed to provide a core usable Haskell installation, and the libraries required for a particular Haskell implementation (in this case ghc) to provide basic functionality. For example, integer-gmp is an artifact of how GHC implements bigints, and haskeline and terminfo are required for ghci's line editing. We generally distinguish between "core libraries" and "GHC bootstrap libraries" ("bootlibs"). -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Sat, Sep 27, 2014 at 7:40 PM, Brandon Allbery
There is a difference between the libraries needed to provide a core usable Haskell installation, and the libraries required for a particular Haskell implementation (in this case ghc) to provide basic functionality. For example, integer-gmp is an artifact of how GHC implements bigints, and haskeline and terminfo are required for ghci's line editing. We generally distinguish between "core libraries" and "GHC bootstrap libraries" ("bootlibs").
Thanks Brandon, that cleared up part of my initial confusion. I added the following section to the haskellwiki: http://www.haskell.org/haskellwiki/Applications_and_libraries#GHC_bootstrap_...

This is a good discussion on clearing things up. The following, from the core libraries wiki page, is clearly not entirely correct: "The core libraries are a subset of the packages in the Haskell Platform, and define basic APIs that are expected to be available in any Haskell implementation.” Some libraries, like xhtml, are clearly there for historical reasons at this point. Other libraries, such as hpc and ghc-prim, are clearly not expected to be available in ‘any Haskell implementation’. Furthermore, does this imply that the core libraries committee, which can choose to adopt packages, can therefore choose what is “expected to be available in any Haskell implementation?” I suppose it can, but will ‘any Haskell implementation’ listen? :-P Better perhaps to do something like the following: "The core libraries are a subset of the packages in the Haskell Platform. Many core libraries define basic APIs that are expected to be available in any Haskell implementation. A second set of core libraries are coupled tightly to the Glasgow Haskell Compiler but nonetheless managed through the core libraries process, as they are considered core functionality in the GHC Haskell ecosystem.” Additionally, the libraries committee may want to more explicitly seperate the two lists? If we do ever have a new libraries section of a Haskell report, I imagine, e.g. it may well mention directory and process, but not ‘ghc-prim’. Finally, I think this is premature, but I do suspect that there will come a time soon in which we want to move xhtml to the "maintained only for backward compatibility” slot. My understanding is that modern Haskell web frameworks nearly unanimously avoid it in favor of more performant alternatives (at a minimum, not based on ’String’). Furthermore, the xhtml package seems like it has recieved nearly no patches in the past four years outside of changes to maintain compatibility with new versions of GHC. In a few years time, I suspect that most code that continues to use this library rather than more modern alternatives will be hoplessly bitrotted in other ways as well. Even further down the road, I suspect many of the same considerations may apply to ‘pretty’ as well. Also note that having xhtml and pretty as core libraries discourages adding more modern alternatives to the platform down the line (such as, say, blaze-html and wl-pprint-text). Cheers, Gershom On September 28, 2014 at 3:00:14 PM, Thomas Miedema (thomasmiedema@gmail.com) wrote:
On Sat, Sep 27, 2014 at 7:40 PM, Brandon Allbery wrote:
There is a difference between the libraries needed to provide a core usable Haskell installation, and the libraries required for a particular Haskell implementation (in this case ghc) to provide basic functionality. For example, integer-gmp is an artifact of how GHC implements bigints, and haskeline and terminfo are required for ghci's line editing. We generally distinguish between "core libraries" and "GHC bootstrap libraries" ("bootlibs").
Thanks Brandon, that cleared up part of my initial confusion. I added the following section to the haskellwiki: http://www.haskell.org/haskellwiki/Applications_and_libraries#GHC_bootstrap_... _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

On Sun, Sep 28, 2014 at 11:35 PM, Gershom B
Better perhaps to do something like the following:
"The core libraries are a subset of the packages in the Haskell Platform. Many core libraries define basic APIs that are expected to be available in any Haskell implementation. A second set of core libraries are coupled tightly to the Glasgow Haskell Compiler but nonetheless managed through the core libraries process, as they are considered core functionality in the GHC Haskell ecosystem.”
Additionally, the libraries committee may want to more explicitly seperate the two lists? If we do ever have a new libraries section of a Haskell report, I imagine, e.g. it may well mention directory and process, but not ‘ghc-prim’.
I would argue that implementation specific libraries do not belong in the core libraries list. Instead, perhaps the libraries committee should state two functions: maintaining the core libraries list, and acting as the community interface/liaison for libraries specific to implementations. The implementations themselves should (and indeed must) maintain their implementation libraries lists; but to the extent that the community affects and is affected by these lists, the libraries committee is empowered to act on behalf of the community. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Sun, Sep 28, 2014 at 11:43 PM, Brandon Allbery
the libraries committee is empowered to act on behalf of the community
On second thought, this sounds a bit stronger than I intended --- especially in the absence of a well-defined notion of the community's interest. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Sun, Sep 28, 2014 at 11:43 PM, Brandon Allbery
On Sun, Sep 28, 2014 at 11:35 PM, Gershom B
wrote: Better perhaps to do something like the following:
"The core libraries are a subset of the packages in the Haskell Platform. Many core libraries define basic APIs that are expected to be available in any Haskell implementation.
Sadly this isn't true. The core libraries are simply basic APIs that are parts of the Haskell Platform that aren't maintained by another individual. The Haskell Platform consists more or less of stuff we need to ship to be useful and/or is too hard to expect an end user to figure out how to build but which deserves broad distribution.
A second set of core libraries are coupled tightly to the Glasgow Haskell
Compiler but nonetheless managed through the core libraries process, as they are considered core functionality in the GHC Haskell ecosystem.”
Additionally, the libraries committee may want to more explicitly seperate the two lists? If we do ever have a new libraries section of a Haskell report, I imagine, e.g. it may well mention directory and process, but not ‘ghc-prim’.
I would argue that implementation specific libraries do not belong in the core libraries list. Instead, perhaps the libraries committee should state two functions: maintaining the core libraries list, and acting as the community interface/liaison for libraries specific to implementations.
The implementations themselves should (and indeed must) maintain their implementation libraries lists;
The main thing the core libraries committee does right now is deal with that uncomfortable buffer zone between what GHC HQ wants to deal with (making GHC fast and nice to use) and what the rest of the ecosystem wants to maintain (many of the individual maintainer packages in the platform). There were a whole lot of packages left to this grey area, needed by the rest of the platform, but where it was basically assumed that GHC HQ was maintaining them but really nobody felt ownership.
but to the extent that the community affects and is affected by these lists, the libraries committee is empowered to act on behalf of the community.
If there are other teams working on compilers that want to engage with the core libraries committee to get better interoperability, we'd be happy to engage, but thus far, GHC is the only party at the table actively talking to us. -Edward --
brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
-- You received this message because you are subscribed to the Google Groups "haskell-core-libraries" group. To unsubscribe from this group and stop receiving emails from it, send an email to haskell-core-libraries+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.

On Mon, Sep 29, 2014 at 12:32 AM, Edward Kmett
but to the extent that the community affects and is affected by these lists, the libraries committee is empowered to act on behalf of the community.
If there are other teams working on compilers that want to engage with the core libraries committee to get better interoperability, we'd be happy to engage, but thus far, GHC is the only party at the table actively talking to us.
Yes, de facto this only means GHC at present. But it also captures, or intends to capture, your statement: The main thing the core libraries committee does right now is deal with
that uncomfortable buffer zone between what GHC HQ wants to deal with (making GHC fast and nice to use) and what the rest of the ecosystem wants to maintain (many of the individual maintainer packages in the platform).
-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

I've updated the verbiage on the Library_Submissions process to capture a
bit more about the effective role of the core libraries. It was rather
messy before.
I do agree we do probably want to do more to break out what portions of the
core-libraries are intended for portable implementation and which ones are
just things we simply have to maintain for glue, but for that we'd probably
need more feedback from other compiler implementors to get a sense of what
it is they have been able / willing to implement.
-Edward
On Mon, Sep 29, 2014 at 12:44 AM, Brandon Allbery
On Mon, Sep 29, 2014 at 12:32 AM, Edward Kmett
wrote: but to the extent that the community affects and is affected by these lists, the libraries committee is empowered to act on behalf of the community.
If there are other teams working on compilers that want to engage with the core libraries committee to get better interoperability, we'd be happy to engage, but thus far, GHC is the only party at the table actively talking to us.
Yes, de facto this only means GHC at present. But it also captures, or intends to capture, your statement:
The main thing the core libraries committee does right now is deal with
that uncomfortable buffer zone between what GHC HQ wants to deal with (making GHC fast and nice to use) and what the rest of the ecosystem wants to maintain (many of the individual maintainer packages in the platform).
-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

We have the Haskell Platform, which is basically a bunch of our "best of
breed" packages we believe everyone should have installed by default. These
packages are all maintained by individuals.
Mark Lentczner takes care of herding the cats to get that out the door.
GHC itself has a smaller collection of boot libraries it needs to build.
Some of these are very GHC specific and fall under the purview of GHC HQ
itself.
Some of these actually have dedicated maintainers, even though GHC needs
them. e.g. Ross Paterson still owns transformers, he wrote it, its his to
do with as he pleases. We do have to work with him fairly closely, however,
as, being a boot package, it can only really effectively be upgraded every
year or so, and we often have to maintain patched versions of it to keep
developing on GHC in the meantime.
But, there is a fair bit ligaments and gristle between the bone of GHC
itself and the body of the platform it, i.e. stuff that has to be there to
hold the whole ecosystem together, but on which GHC HQ itself doesn't have
a particularly strong opinion.
That is the stuff that falls under the purview of the core libraries
committee, which acts as a collective maintainer under the libraries
submission process.
That rounds out the idiosyncrasies of having a single maintainer, but lets
us have some entity that can collectively reach a decision and allow
progress.
Prior to the formation of the committee there were a number of issues on
these middle-ground packages that would deadlock without universal consent.
The packages random, vector and primitive recently came under the purview
of the committee because they were in the platform and seeing broad use but
not being actively maintained.
By way of contrast, mtl isn't currently under the core-libraries-committee,
but it is in the platform. I took over maintainership of it personally a
year or two before we formed the committee and haven't yet found it to be a
sufficient burden to pawn off on the collective.
-Edward
On Sat, Sep 27, 2014 at 1:13 PM, Thomas Miedema
Hello core libraries committee,
on the library submissions page on the Haskell wiki it says: "The core libraries ... define basic APIs that are expected to be available in any Haskell implementation."
Is this list of those core libraries and their maintainers up-to-date: http://www.haskell.org/haskellwiki/Library_submissions#The_Core_Libraries
I am asking, since GHC 7.8.3 also includes: * binary * bytestring * filepath * haskeline * hoopl * integer-gmp * terminfo * transformers But they are not core libraries. Is that correct?
And GHC 7.8.3 doesn't include: * mtl * parallel * primitive * random * vector But they are core libraries. Is that correct?
Cheers, Thomas
-- You received this message because you are subscribed to the Google Groups "haskell-core-libraries" group. To unsubscribe from this group and stop receiving emails from it, send an email to haskell-core-libraries+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.

Hi Edward, Thank you for your explanation. I would still like to make sure [1] is up-to-date, since those are the packages for which third party contributions need to go through the library submissions process. Do you have a complete list of the packages maintained by the Core Libraries Committee? Thanks, Thomas [1] http://www.haskell.org/haskellwiki/Library_submissions#The_Core_Libraries

The list that we maintain is the list you referenced. =)
If there is a package we're supposed to maintain as part of the platform,
we add it to that list and put our name next to it.
-Edward
On Sun, Sep 28, 2014 at 6:57 AM, Thomas Miedema
Hi Edward,
Thank you for your explanation. I would still like to make sure [1] is up-to-date, since those are the packages for which third party contributions need to go through the library submissions process.
Do you have a complete list of the packages maintained by the Core Libraries Committee?
Thanks, Thomas
[1] http://www.haskell.org/haskellwiki/Library_submissions#The_Core_Libraries

The list that we maintain is the list you referenced. =)
If there is a package we're supposed to maintain as part of the platform, we add it to that list and put our name next to it.
Ok, final question: What about filepath and hpc? Their .cabal files list libraries@haskell.org as maintainer, which usually means the Core Libraries Committee. Should filepath be added to that list, and the maintainer for both filepath and hpc be set to the Core Libraries Committee? If not, who maintains filepath? Thanks, Thomas

Edward Kmett wrote
We have the Haskell Platform, which is basically a bunch of our "best of breed" packages we believe everyone should have installed by default
How does html fit that description? -- View this message in context: http://haskell.1045720.n5.nabble.com/List-of-core-libraries-tp5757100p575714... Sent from the Haskell - Libraries mailing list archive at Nabble.com.

There is some allowance for historical accident.. er precedent. ;)
-Edward
On Sun, Sep 28, 2014 at 7:53 AM, harry
Edward Kmett wrote
We have the Haskell Platform, which is basically a bunch of our "best of breed" packages we believe everyone should have installed by default
How does html fit that description?
-- View this message in context: http://haskell.1045720.n5.nabble.com/List-of-core-libraries-tp5757100p575714... Sent from the Haskell - Libraries mailing list archive at Nabble.com. _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries
participants (5)
-
Brandon Allbery
-
Edward Kmett
-
Gershom B
-
harry
-
Thomas Miedema