!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

681 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://nixos.org/manual/nixpkgs/unstable/#haskell | Current PR: https://github.com/nixos/nixpkgs/pulls?q=is%3Apr+is%3Aopen+head%3Ahaskell-updates | Maintainer Docs: https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/HACKING.md | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org | Merger Schedule: https://cloud.maralorn.de/apps/calendar/p/H6migHmKX7xHoTFa/dayGridMonth/now | Join #haskell.nix:libera.chat for question about the alternative haskell.nix infrastructure133 Servers

Load older messages


SenderMessageTime
29 Aug 2025
@sternenseemann:systemli.orgsternisure16:04:05
@sternenseemann:systemli.orgsterni* ~~sure~~16:04:30
@sternenseemann:systemli.orgsterni * sure 16:04:35
@magic_rb:matrix.redalder.orgmagic_rb changed their profile picture.19:30:45
@artem.types:matrix.orgArtem all this text's show fallout is due to the fact that in Haskell you can't require people to import qualified. See, certain modules, including Data.Text, are designed to be imported qualified. They will say so in the documentation. But this is only a guideline. It's impossible to enforce. So, anyone who ignored this guideline, imported Data.Text unqualified, and also happened to use show from Prelude, gets blown out... And the good fix is to import Data.Text qualified and update the usages of stuff from there. An easy fix is to update the usages of show to Prelude.show. None if these two are one-line fix in general, sadly. 19:38:03
@maralorn:maralorn.demaralornI mean I kinda think importing without import lists or unqualified should be prevented by a linter on hackage upload.19:43:05
@emilazy:matrix.orgemilysometimes you do want that (modules specifically designed as preludes), no?19:43:40
@emilazy:matrix.orgemilyeven in Rust people sometimes do glob imports for that case19:43:52
@maralorn:maralorn.demaralornYeah, fair.19:51:03
@toonn:matrix.orgtoonn Importing Data.Text unqualified would also not be a problem if people actually stuck to the PVP. 19:52:10
@maralorn:maralorn.demaralorn I mean for us in nixpkgs that wouldn’t really help, we would normally be forced to do a jailbreak anyway and then it wouldn’t compile. Although I agree it is better. 19:53:57
@toonn:matrix.orgtoonn Well, yeah, but that's going beyond what Hackage and the package maintainers explicitly support. 20:23:08
30 Aug 2025
@sternenseemann:systemli.orgsterni toonn: Non-breaking change. Otherwise, if only new bindings, types, classes, non-orphan instances or modules (but see below) were added to the interface, then A.B MAY remain the same but the new C MUST be greater than the old C. 01:55:58
@sternenseemann:systemli.orgsterni(below is only about leaking instances)01:56:09
@maralorn:maralorn.demaralorn sterni: I thought the point is: When you import a package unqualified then you need to have an upper bound on the .C to conform with PVP. 02:08:57
@maralorn:maralorn.demaralorn * sterni: I thought the point is: When you import a package unqualified then you need to have an upper bound on the .C of that package to conform with PVP. 02:09:12
@sternenseemann:systemli.orgsternithey don't even use an uppercase MAY or RECOMMENDED for that02:12:21
@sternenseemann:systemli.orgsternithey say not doing that is “slightly risky”02:12:52
@sternenseemann:systemli.orgsternibut you are technically conforming when everything's fine when uploading02:13:03
@maralorn:maralorn.demaralornWeird. All my years reading CLC discussions had made me think that09:10:31
@toonn:matrix.orgtoonn Are you though? Because the PVP as written is for versioning a package, not for how to bound dependencies, no? 09:24:25
@teoc:matrix.orgteo (they/he)Out of interest, how many packages did this break in nixpkgs? I would've expected everything to be updated by now. I guess it's things not on Stackage?10:15:42
@dandart:matrix.orgUraraka ~ Ochaco changed their profile picture.15:30:24
@dandart:matrix.orgUraraka ~ Ochaco changed their display name from data Void to Peri.15:31:02
@Las:matrix.org@Las:matrix.org left the room.22:01:28
31 Aug 2025
@lxsameer:matrix.orglxsameerhey folks, do nixpkgs contain the webassembly backend of GHC?17:38:15
@dandart:matrix.orgUraraka ~ Ochacomost of it, it just requires a little patching by this gitlab.haskell.org/haskell-wasm/ghc-wasm-meta17:39:00
@lxsameer:matrix.orglxsameerwhat's the package name?17:39:18
@maralorn:maralorn.demaralorn
In reply to @lxsameer:matrix.org
hey folks, do nixpkgs contain the webassembly backend of GHC?
Not really. no.
17:39:57
@dandart:matrix.orgUraraka ~ Ochaco normally I just do (builtins.getFlake "gitlab:haskell-wasm/ghc-wasm-meta?host=gitlab.haskell.org").packages.x86_64-linux.all_9_12 in a shell.nix 17:40:32

Show newer messages


Back to Room ListRoom Version: 6