Adopting Cabal as core package

22 views
Skip to first unread message

Andrew Lelechenko

unread,
Nov 7, 2024, 6:43:46 PM11/7/24
to haskell-core-libraries, Hécate, Mikolaj Konarski
Dear CLC members,

Continuing our recent push to consolidate notions of boot and core libraries and as agreed below with Cabal maintainers, let’s adopt `Cabal`, `Cabal-syntax`, `cabal-install` and `cabal-install-solver` as core packages. Could we please vote on it?

+1 from me.

Best regards,
Andrew

> On 7 Nov 2024, at 21:41, Mikolaj Konarski <mik...@well-typed.com> wrote:
>
> Hi Andrew,
>
> We discussed this on the list and on today's cabal devs
> meeting and we are grateful for the proposal and we don't
> only accept it, but we'd like to ask you to consider all
> cabal packages (`Cabal`, `Cabal-syntax`, `cabal-install`
> and `cabal-install-solver`) as core packages. They don't
> really make much sense without each other and while
> only two of them are GHC boot packages, if I'm not mistaken,
> we posit they are all core packages of the Haskell ecosystem.
>
> Cheers,
> Mikolaj
>
> On Thu, Nov 7, 2024 at 12:11 AM Andrew Lelechenko
> <andrew.l...@gmail.com> wrote:
>>
>> Hi Mikolaj,
>>
>> Just a gentle ping, did you come to a conclusion on this?
>> (I’m not on cabal-devel mail list)
>>
>> Best regards,
>> Andrew
>>
>>> On 30 Oct 2024, at 09:03, Mikolaj Konarski <mik...@well-typed.com> wrote:
>>>
>>> In fact, I'm not sure you are on the cabal-devel list, so I should
>>> have added you to CC of this email.
>>>
>>> ---------- Forwarded message ---------
>>> From: Mikolaj Konarski <mik...@well-typed.com>
>>> Date: Wed, Oct 30, 2024 at 9:59 AM
>>> Subject: Fwd: Is Cabal a core library?
>>> To: <cabal...@haskell.org>
>>>
>>>
>>> Andrew, thank you for your kind offer.
>>>
>>> Let me forward this to other Cabal developers.
>>>
>>> Best regards,
>>> Mikolaj
>>>
>>> ---------- Forwarded message ---------
>>> From: Andrew Lelechenko <andrew.l...@gmail.com>
>>> Date: Wed, Oct 30, 2024 at 1:50 AM
>>> Subject: Is Cabal a core library?
>>> To: Mikolaj Konarski <mik...@well-typed.com>, Hécate <hec...@glitchbra.in>
>>>
>>>
>>> Hi Mikolaj and Hecate,
>>>
>>> There is a push to consolidate notions of boot (= needed to build GHC)
>>> and core (= under CLC aegis) libraries, so that critical parts of
>>> Haskell ecosystem are more resilient. How do you feel about
>>> designating `Cabal` and `Cabal-syntax` as core packages?
>>>
>>> While at the moment Cabal has a very healthy team (thanks a ton for
>>> your work!), there were moments in Cabal history when things were
>>> drastically different. So having an additional safety net, such that
>>> CLC is able to provide additional / emergency maintenance, could be
>>> helpful in future.
>>>
>>> Designating a library as a core package does not impose much change on
>>> day-to-day operations. CLC does not interfere with daily development
>>> of Core Libraries as long as appointed maintainers keep them in an
>>> appropriate shape and support healthy communication with contributors.
>>> You can find the full policy at
>>> https://github.com/haskell/core-libraries-committee?tab=readme-ov-file#core-libraries
>>>
>>> (Feel free to forward to other Cabal developers)
>>>
>>> Best regards,
>>> Andrew
>>

Moritz Angermann

unread,
Nov 7, 2024, 6:55:14 PM11/7/24
to Andrew Lelechenko, haskell-core-libraries, Hécate, Mikolaj Konarski
Sure. 😬
+1

--
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-libr...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/haskell-core-libraries/5BA8FB92-34AF-4760-9503-3A3F73FDF01C%40gmail.com.

Matt

unread,
Nov 7, 2024, 7:01:17 PM11/7/24
to Andrew Lelechenko, haskell-core-libraries, Hécate, Mikolaj Konarski
I feel like Cabal is used more as an application than a library for the majority of Haskell developers, and that CLC adoption would serve to slow down their development more than it would benefit from preventing breaking changes.

-1 but I can be convinced otherwise 

Matt Parsons


Andrew Lelechenko

unread,
Nov 7, 2024, 7:07:13 PM11/7/24
to Matt, haskell-core-libraries, Hécate, Mikolaj Konarski
Hi Matt, 

CLC adoption does not impose any immediate additional controls. It’s primarily a long-term safety net, which allows CLC to install new maintainers or make releases without waiting for a lengthy Hackage takeover process, if such need arises. Given that Cabal has a healthy team at the moment, hopefully we would not have a reason to interfere for a very long time.


Does it clarify?

Best regards,
Andrew

Julian Ospald

unread,
Nov 7, 2024, 7:52:29 PM11/7/24
to Andrew Lelechenko, haskell-core-libraries, Hécate, Mikolaj Konarski
My intuition says these aren't core libraries (cabal-install* definitely not, Cabal* is more gray area). They are important packages that need maintainers. But their main use is not their API as a library. The cabal specification itself is more central and should be subject to a committee.

I'm not sure CLC is the right body for either of this.

-1

Melanie Brown

unread,
Nov 8, 2024, 10:37:36 AM11/8/24
to Andrew Lelechenko, haskell-core-libraries, Hécate, mik...@well-typed.com
I think that for the moment, requiring a CLC proposal to make modifications to any of these Cabal packages is too much overhead for the pace at which they have recently been evolving. Also, I’m not sure that the CLC is the best committee to decide which maintainers to appoint to the Cabal team in the event of a crisis.

Weak -1 from me.

Cheers!
Melanie Brown

Hécate

unread,
Nov 8, 2024, 11:07:45 AM11/8/24
to haskell-core-libraries

Hi everyone,

It would appear that the email Bodigrim sent to trigger the vote left out the part that explicitly triggered our approval regarding the inclusion of the cabal suite of packages under the CLC umbrella:



> While at the moment Cabal has a very healthy team (thanks a ton for your work!), there were moments in Cabal history when things were drastically different. So having an additional safety net, such that CLC is able to provide additional / emergency maintenance, could be helpful in future.

This statement and the guardrails it offers in the eventuality of a gap in maintenance are what the Cabal developers and maintainers agreed most on.
We do not expect the need to go in front of the CLC for changes to Cabal, it's just that the CLC could either make decisions or appoint people should the Cabal development team die out.

Happy to clarify things from the Cabal side.

Cheers,
Hécate

-- 
Hécate ✨
🐦: @TechnoEmpress
IRC: Hecate
WWW: https://glitchbra.in
RUN: BSD

Andrew Lelechenko

unread,
Nov 8, 2024, 12:27:16 PM11/8/24
to haskell-core-libraries, Hécate
To add to what Hecate just said, let me remind CLC members that being a core library does not mean that one needs a CLC proposal to make a modification. Quoting https://github.com/haskell/core-libraries-committee?tab=readme-ov-file#core-libraries:

> Maintainers of Core Libraries may at their own accord seek CLC approval for controversial changes, but are not required to do so. CLC does not interfere with daily development of Core Libraries as long as appointed maintainers keep them in an appropriate shape and support healthy communication with contributors.

Melanie, Matt, does it alleviate your concerns?

Best regards,
Andrew
> To view this discussion visit https://groups.google.com/d/msgid/haskell-core-libraries/9f228465-f2e9-4b9e-a84c-f7cf4d63a9c9%40glitchbra.in.

Matt

unread,
Nov 8, 2024, 12:31:22 PM11/8/24
to Andrew Lelechenko, haskell-core-libraries, Hécate
Yes, it does. While it doesn't seem urgent, it does seem sensible. +1

Thanks,
Matt Parsons


Melanie Brown

unread,
Nov 8, 2024, 12:31:33 PM11/8/24
to Andrew Lelechenko, haskell-core-libraries, Hécate
Yes, if the overhead is minimal, and we do not have to review every minor change to these packages, I think that’s fine.

+1

Cheers!
Melanie Brown

Andrew Lelechenko

unread,
Nov 18, 2024, 7:32:30 PM11/18/24
to haskell-core-libraries, Hécate, Mikolaj Konarski
Thanks all, that’s enough votes (me, Melanie, Moritz, Matt) to approve. I’ll update https://github.com/haskell/core-libraries-committee?tab=readme-ov-file#core-libraries soon.

Best regards,
Andrew
Reply all
Reply to author
Forward
0 new messages