Re: [Haskell-cafe] Re: Cabal transitive constraint puzzle
Henning Thielemann via ghc-devs <[email protected]> Thu, 5 Mar 2026 12:48:58 +0100 (CET)
| Newsgroups | gmane.comp.lang.haskell.ghc.devel,gmane.comp.lang.haskell.cafe |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 5 Mar 2026, Adam Gundry wrote: > On 05/03/2026 05:54, Viktor Dukhovni wrote: >> Now it turns out that for maximum portability, `mlkem` in turn has a build >> flag `use_crypton` that selects either `crypton`, or (current default) the >> older `cryptonite` library as its dependency. So the dependen graph is: >> >> tls <- mlkem <- if (use_crypton): crypton else: cryptonite > > The general principle (albeit one that is not necessarily widely understood > or well advertised) is that package APIs should not depend on flag > assignments, for precisely the reason you outline: I think that condition is satisfied here: The API of tls is independent from whether mlkem calls crypton or cryponite. So in principle things should work if `tls` uses `crypton`, and `mlkem` uses `cryptonite`, as Cabal might choose as default. _______________________________________________ ghc-devs mailing list -- [email protected] To unsubscribe send an email to [email protected]