!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.org143 Servers

Load older messages


SenderMessageTime
15 Sep 2025
@sternenseemann:systemli.orgsterni (he/him)Seems like MicroHs is getting more serious about being usable for general purpose stuff, could maybe be interesting to try and add a microhs package set for variety. https://discourse.haskell.org/t/microhs-and-hackage/12916. However, the approach Lennart is taking is a bit questionable. For packages that don't accept MicroHs patches, MicroCabal automatically replaces them with an entirely different package (e.g. random-mhs instead of random). The package descriptions seem to rely on this as well, e.g. you can't build the random-mhs test suite with GHC/Cabal since it declares a dependency on random instead of random-mhs (though maybe that's just a mistake).12:23:43
@emilazy:matrix.orgemilywe talked about this recently and I suggested a package set would be interesting for exploring future GHC bootstrap12:26:04
@emilazy:matrix.orgemilyespecially since we can have MicroHs bootstrap from hugs12:26:15
@emilazy:matrix.orgemily @alex:tunstall.xyz has that Nixified apparently 12:26:28
@sternenseemann:systemli.orgsterni (he/him)should be testu-01, not testu01 from your example?12:26:50
@sternenseemann:systemli.orgsterni (he/him) bglgwyng: override allows you to use the result of callPackage and call the underlying lambda again with different argument, completely recomputing the value: https://github.com/NixOS/nixpkgs/blob/f501ecd2f4b1b8c4f43fee3f1d5cf3e758c2e166/lib/customisation.nix#L116-L208 12:28:43
@sternenseemann:systemli.orgsterni (he/him)You can of course not change the underlying function. I'm not entirely sure what you are trying to do.12:29:10
@alex:tunstall.xyzAlex Sure, I can contribute a package set later this week.
There might be a fair bit of flux from frequent upstream changes, but I doubt that'll be much of an issue.
12:53:41
@emilazy:matrix.orgemilywhy does it need its own Cabal btw?12:56:19
@emilazy:matrix.orgemilyis real Cabal not flexible enough? can't build with MicroHs?12:56:28
@b:chreekat.netchreekatYeah it relies on many language extensions that Lennart doesn't plan to support12:58:13
@emilazy:matrix.orgemilythis is my fear with the GHC bootstrapping plan...13:00:07
@emilazy:matrix.orgemilyeither Lennart bends, Cabal/GHC maintainers do, or it's a fork situation13:00:32
@mangoiv.:matrix.orgMangoIV I think the one that Lennart won’t support is TH and that can’t be used in GHC either 13:08:07
@mangoiv.:matrix.orgMangoIVOh well… I guess if it’s used in boot libraries might still be an issue huh13:09:17
@teoc:matrix.orgTeo (he/him)TH proper isn't used in boot libraries only TemplateHaskellQuotes, which means you don't have to worry about the tricky thing which is running splices13:11:13
@teoc:matrix.orgTeo (he/him)In the long term, idk if GHC will continue to not use TH. GHC currently uses Generics to derive some of its typeclass instances and it leads to horribly slow compilation. TH would be one way to handle that in a better way. We can't currently use it, but that should be unblocked soon. I think the alternatives would be making Generics not slow, or a new way to derive instances13:12:58
@emilazy:matrix.orgemilyIIRC he said no plans for implicit params or magic hash, which sound like things GHC would plausibly use13:13:01
@emilazy:matrix.orgemilythough of course magic hash stuff may be dodgy for portability in general13:13:11
@emilazy:matrix.orgemily GHC using TH sounds like it'd make @sternenseemann:systemli.org's day :P 13:13:37
@emilazy:matrix.orgemily(I guess it'd be fine as long as cross starts working properly again)13:13:57
@teoc:matrix.orgTeo (he/him)Yeah GHC using TH is blocked on all the glaring issues with TH cross being solved13:14:24
@emilazy:matrix.orgemilygenerics being slow enough for TH to seem better depresses me. in the tail end of my Haskell activity I was praying all this new stuff would kill off TH13:14:51
@emilazy:matrix.orgemilyI dislike TH very much :)13:15:13
@mangoiv.:matrix.orgMangoIV What does magichash have to do with portability 13:16:04
@mangoiv.:matrix.orgMangoIVmagichash is a purely syntactic extension 13:16:21
@maralorn:maralorn.demaralornIdk. I think the idea of macros/front loading as much as logic as possible to the compile step seems very intriguing to me.13:16:46
@mangoiv.:matrix.orgMangoIVimplicitparams sounds like it is mostly relevant for HasCallStack. you can special case that if you want. 13:17:01
@teoc:matrix.orgTeo (he/him) It's always hard to kill off old code. I basically want to implement something (very vaguely) like Rust's facet for Haskell, and I think that could do it. I've been thinking about this for a while and it hasn't happened yet so we will see if it ever happens 13:17:26
@emilazy:matrix.orgemily well half the time you turn it on to import some GHC.Evil is my point 13:17:39

Show newer messages


Back to Room ListRoom Version: 6