Skip to content

Add exact print proposal#5

Open
jappeace wants to merge 3 commits intohaskell:masterfrom
jappeace:add-exact-print-proposal
Open

Add exact print proposal#5
jappeace wants to merge 3 commits intohaskell:masterfrom
jappeace:add-exact-print-proposal

Conversation

@jappeace
Copy link

No description provided.

@ulysses4ever
Copy link

@jappeace could you explain what's the relation to the earlier HF proposal?

@Mikolaj
Copy link
Member

Mikolaj commented Dec 23, 2025

@jappeace could you explain what's the relation to the earlier HF proposal?

The start of the document says "Note that this is a copy of the TWG proposal: haskellfoundation/tech-proposals#6", but indeed I'm curious how literally this is a copy, in particular, if the experience gained when implementing and discussing lead to some modifications or maybe if this is the baseline over which the modifications are expected to be made.

@ulysses4ever
Copy link

There's probably no harm in copying old stuff, but I personally hoped that we can make some profit out of our process and discuss some details that poped up during the past couple months in a new document. If creating a whole new document sounds like too much, a new section in the copy would be fine as well...

@jappeace
Copy link
Author

jappeace commented Dec 24, 2025

I put the somewhat relevant parts of TWG proposal into the relevant sections of the cabal proposal template.
and filled out some other headings, especially open questions is a fair bit different now.

unlike the original proposal says, the common stanzas have been investigated here:
haskell/cabal#11277

and unlike the original proposal says, comment parsing is now pretty solid with this PR:
haskell/cabal#11252
(my zurich hack prototype did only one or two locations, leana made it work for basically any valid position).

I think these are the only two major implementation issues left from the original TWG proposal:

+ Add support for comma printing.
+ add support for conditional branches.
  See the technical content section for more details on this.

Both of these are investigated by a prototype focussing on "trivia", because FieldGrammar handles both conditionals as well as the comma's.
haskell/cabal#11227 (comment)

@ffaf1
Copy link

ffaf1 commented Jan 29, 2026

Hello, we discussed this proposal tonight ad the cabal dev-meeting.

We are generally happy with it, but there are things we would like to get a better idea of.

  1. Interested parties. There are a lot of projects using Cabal (the library). It is nice to see “beneficiaries” listed, but the ideal situation would be to investigate who are the major users of Cabal, check who could be affected, collect their feedback before this proposal is accepted. Such thorough changes are bound to cause code breakage! Which leads to

  2. Backwards Compatibility / Migration. The section is quite light on details, we need to know more, especially whether there is a simple path to upgrade and whether there are things which could require a more expensive workaround.

  3. Impact on maintainers. We are here for the long run, so a sober assessment of how much more work to — e.g. — add to the spec, etc. would be interesting to know.

Thanks for having written this document!

@geekosaur
Copy link

I'd like to note that the current POC is a step in the direction of answering some of these questions (I did mention this in the meeting), in particular testing it against clc-stackage should give an idea of both who it affects and what kinds of mitigations and migration strategies will be required.

@Mikolaj
Copy link
Member

Mikolaj commented Jan 29, 2026

Right, the POC is a great contribution. Maybe it could serve to update the proposal a bit, especially the parts the maintainers are keen about, as listed by Francesco? This proposal, as opposed to the TWG one, has the benefit of being submitted after some considerable prototyping and some feedback, so it can stand on much less hypothetical foundations than the TWG one. It should now be easier to involve many cabal "stakeholders" in the discussion, soliciting feedback about, e.g., backward compatibility and potential migration policy.

In any case, thank you very much for all this recent work, we are thrilled to see such a professional approach and we hope this can be brought to fruition with minimal friction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants