Forging the consensus about the Custom proposal

Andrea Bedini andrea at
Tue Feb 6 05:15:12 UTC 2024

Hi Mikolaj,

thanks for reaching out and apologies for the late reply.

I would welcome a meeting. Experience teaches us text-only communication can make reaching consensus much harder than it should be.

I still have to catch up with the latest changes in the design but my concerns have always been more on the overall implementation stategy rather than on the API itself. Expecially w.r.t. cabal-install.

I don't know whether the changes required in cabal-install are off-topic or not but at least I would like if we could reach consensus on the following point: I believe that cabal-install will always have to provide backward compatibility and be able to call ./Setup.hs. This would end up as a "big blob" in a otherwise granular build graph but I am afraid it is necessary. A breaking change of this magnitude would not be appreciated by the community. I discussed this privately with Sam and Rodrigo already and they seemed to agree it would be paradoxical if cabal-install decided to stop compiling packages that stack would be still be able to compile (using the same CLI interface as it does now).

The relationship between Cabal and Cabal-hooks is something I still need to wrap my mind around. Ideally the new code would be in Cabal-hooks, but Cabal (as the build-system) needs to depend on Cabal-hooks to use its API; which makes a circular depedency. Off the top of my head, there are two ways: 1) either we move shared definitions from Cabal into a new common dependency 2) or we move the build system (i.e. build_setupHooks) into Cabal-hooks. Would the latter be acceptable? (I have the feeling that doing both things would be best).

I am available either end of this week or early next week, typically until 3pm UTC time.

Best wishes,

On Fri, 2 Feb 2024, at 9:27 PM, Mikolaj Konarski wrote:
> Hello,
> Well-Typed reports that after the long discussion/iteration process
> the Cabal The Library portion of the Custom proposal as described at
> is "subject to change based on feedback but otherwise we are content with it"
> and that the preliminary experiments with the prototype implementation
> produce promising results. The pace of the conversation in the proposal PR
> seems to have slowed down as well.
> What could help us reach the consensus regarding the proposal and move on
> to finalizing and reviewing its implementation (and then to cabal-install)?
> If in-person video meetings would help, I'd gladly organize some
> (also for the next stages if it's too early at this point).
> Thoughts, ideas?
> Cheers,
> Mikolaj
> _______________________________________________
> cabal-devel mailing list
> cabal-devel at

Andrea Bedini

More information about the cabal-devel mailing list