!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

719 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/ | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org142 Servers

Load older messages


SenderMessageTime
15 Sep 2025
@teoc:matrix.orgTeo (he/him)Some folks were working on the stage2 cross patch weekend just gone13:32:24
@sternenseemann:systemli.orgsterni (he/him)I am more optimistic that this will be solved by just building all packages manually with Cabal and wiring up the bootstrap in Nix rather than in hadrian. (Which is something I plan to investigate this autumn.)13:32:25
@teoc:matrix.orgTeo (he/him)https://gitlab.haskell.org/ghc/ghc/-/merge_requests/1482713:32:51
@emilazy:matrix.orgemilyoh does that replace https://gitlab.haskell.org/ghc/ghc/-/merge_requests/1144413:33:14
@sternenseemann:systemli.orgsterni (he/him)This would probably mean more GHC patches for 9.14 or so, but those can probably be upstreamed eventually13:33:18
@teoc:matrix.orgTeo (he/him)We would also need TH to run on host or smth and maybe more. It's a whole kettle of fish13:33:20
@emilazy:matrix.orgemilythat sounds cool if achievable13:33:28
@mangoiv.:matrix.orgMangoIVwait, as in, build the entirety of GHC with nix or just let hadrian build single stages only?13:33:32
@teoc:matrix.orgTeo (he/him)Yeah it's that rebased13:33:36
@emilazy:matrix.orgemilybut feels like a heavy lift13:33:38
@alex:tunstall.xyzAlex
In reply to @emilazy:matrix.org
IIRC he said no plans for implicit params or magic hash, which sound like things GHC would plausibly use

GHC uses both, yes.

They are not too difficult to hack around. (Magic hash is purely syntactical, implicit params is in a sense sugar.)

13:33:50
@emilazy:matrix.orgemilyat that point you're basically rewriting Hadrian in Nix right?13:34:04
@emilazy:matrix.orgemilyor wait Hadrian doesn't even use Cabal right...13:34:11
@emilazy:matrix.orgemilyI can't keep all this stuff straight13:34:16
@teoc:matrix.orgTeo (he/him)This would be great. Whatever happens, it would be great if boot libs were built with nix and weren't special13:34:21
@mangoiv.:matrix.orgMangoIVhadrian is shake based. 13:34:41
@emilazy:matrix.orgemilycalling implicit params sugar feels a bit of a stretch to me, it has some pretty weird/deep semantics :)13:34:59
@emilazy:matrix.orgemilybut if you mean "can easily be removed much of the time" then fair13:35:09
@toonn:matrix.orgtoonn sterni: What are the problems with Hadrian? 13:35:41
@mangoiv.:matrix.orgMangoIV they are reverse sugar - it's mostly to support HasCallstack... :D 13:35:47
@alex:tunstall.xyzAlex
In reply to @teoc:matrix.org
This would be great. Whatever happens, it would be great if boot libs were built with nix and weren't special
autoconf might give some trouble, but building bootlibs without Hadrian is possible as long as you have a compiler, cabal, and a cpphs implementation.
13:35:52
@mangoiv.:matrix.orgMangoIV i don't understand how it came to be that they exposed that stuff but are reluctant to make withDict work for data dicts 13:36:13
@emilazy:matrix.orgemilybuilding libraries separate from compilers and never mixing multiple compiler build/host/target builds in one derivation is all I want in this world 🙏13:36:22
@mangoiv.:matrix.orgMangoIVthat seems absurd to me 13:36:23
@emilazy:matrix.orgemilyimplicit parameters don't screw with the semantics of normal type classes13:37:03
@mangoiv.:matrix.orgMangoIVyeah but they're special cased in all kinds of ways 13:37:24
@emilazy:matrix.orgemilyis there an obstacle to still using Hadrian to build one stage but then layering those with Nix?13:37:39
@emilazy:matrix.orgemilyif that could solve cross then it feels like an easier intermediate step13:37:51
@mangoiv.:matrix.orgMangoIV you can just --freeze-stagen 13:38:18
@sternenseemann:systemli.orgsterni (he/him) more packages are just normal cabal packages in tree now, something that John Ericson has worked on. There is an effort to utilize this for building GHC https://github.com/stable-haskell/ghc/pull/89, though they are using cabal.project files instead of Nix which apparently also causes its own issues. 13:38:34

Show newer messages


Back to Room ListRoom Version: 6