!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

717 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/142 Servers

Load older messages


SenderMessageTime
15 Sep 2025
@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
@emilazy:matrix.orgemilywell I'm guessing it's tricky in some way or it'd have already been done13:38:40
@teoc:matrix.orgTeo (he/him) I don't think so! I think that would be a great way to get started. Build stage1 with Hadrian and then let nix build stage2. Or even easier, build stage2 with hadrian and then build a stage3 with nix 13:38:43
@mangoiv.:matrix.orgMangoIVwhat's the point of building GHC with cabal, btw? there are some people that want that 13:39:03
@emilazy:matrix.orgemilyI was thinking build stage2 and stage3 with Hadrian but just, separately13:39:13
@teoc:matrix.orgTeo (he/him)There is a CI test that builds a stage3 GHC with cabal-install but it has been broken for silly reasons for ages on the GHC gitlab13:39:28
@emilazy:matrix.orgemilybut I'm guessing it's not wired up for this13:39:29
@teoc:matrix.orgTeo (he/him) yeah that would also be good 13:39:42
@emilazy:matrix.orgemilyer sorry I meant stage1 and stage213:39:45
@emilazy:matrix.orgemilythe question is whether that would work for a cross-compiled GHC13:40:05
@emilazy:matrix.orgemily(again as distinct from a cross-compiling GHC)13:40:16
@teoc:matrix.orgTeo (he/him) I think the main advantages to Hadrian are to do with devex like nice recomp support, etc. And when you are a distributor all you are left with is complexity and cost 13:40:40
@alex:tunstall.xyzAlex
In reply to @emilazy:matrix.org
we talked about this recently and I suggested a package set would be interesting for exploring future GHC bootstrap

How should I structure this btw?

Should Nixpkgs expose:

  • Any Hugs-interpreted boot tools (probably not, likely fragile)?
  • Stage 1 compiler built via Hugs (should be as good as a stage 2)?
13:40:43
@emilazy:matrix.orgemilyI didn't realize it was that close to "just" being cabal-installable13:40:46
@emilazy:matrix.orgemilyI assumed you'd need a lot more glue. cool13:40:52
@mangoiv.:matrix.orgMangoIVbut it would for sure require support of cabal upstream, right? I don't think that that's a good idea at all tbh. 13:41:25
@teoc:matrix.orgTeo (he/him) This didn't actually achieve it but we had this MR ages ago: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5965 13:42:24
@emilazy:matrix.orgemily I would personally only expose a fully bootstrapped one as first-class but it's not my decision to make. probably having a withHugsBootstrap param on the MicroHs derivation and microhs takes microhs as a build input that you override to have withHugsBootstrap or something 13:42:33
@mangoiv.:matrix.orgMangoIVAlso why does hadrian not support proper incremental build support? 13:42:37
@emilazy:matrix.orgemilyI mean whatever makes the Nix simplest really13:42:41
@mangoiv.:matrix.orgMangoIVshake does that out of the box? 13:42:43
@emilazy:matrix.orgemilybut even for bootstrapping GHC I think you'd want the full MicroHs13:42:54

Show newer messages


Back to Room ListRoom Version: 6