!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/143 Servers

Load older messages


SenderMessageTime
15 Sep 2025
@mangoiv.:matrix.orgMangoIVi mean it's only relevant for projects the size of GHC - I don't understand how this seems to be low hanging fruit though. GHC is a mess... 13:18:02
@teoc:matrix.orgTeo (he/him) Yeah definitely. As a TH fan, one thing that quite annoys me is that TH isn't proper macros. It's a bunch of disparate features tacked together, and I really want to untangle the mess 13:18:37
@emilazy:matrix.orgemilyconceptually, yes. in practice language features that cordycept the compiler introduce a huge swathe of complexity and compromises unless you design everything around them from the start. because suddenly you have a bunch of exposed and very load-bearing phase distinctions13:18:45
@emilazy:matrix.orgemilylike how TH makes order of declarations stuff weird as a trivial but gross example13:19:09
@mangoiv.:matrix.orgMangoIV how many GHC.Evil things does GHC use? 13:19:52
@teoc:matrix.orgTeo (he/him) idk Generics have been a headache on both of the industrial Haskell codebases I've worked on. Once you have records with more than say 16 fields, it gets pretty bad 13:19:55
@emilazy:matrix.orgemilyalso, Haskell is already two full-blown languages at the value and type level (and you can argue there's two or three more in the latter), another layer is just painful :P13:20:06
@emilazy:matrix.orgemilyno idea. but I wouldn't be surprised13:20:23
@mangoiv.:matrix.orgMangoIVbecause of compilation speed, right? 13:20:28
@teoc:matrix.orgTeo (he/him) yeah compilation speed 13:20:39
@mangoiv.:matrix.orgMangoIValso my comment was about GHC itself compiling slowly 13:20:44
@emilazy:matrix.orgemilyespecially since you often really want to for perf13:20:48
@emilazy:matrix.orgemilyor at least did back in my day13:20:52
@emilazy:matrix.orgemilyhave I mentioned I'm old lately13:21:06
@mangoiv.:matrix.orgMangoIVlike, sure it would if you have checks duplicated all over, things running several times with the same inputs 13:21:06
@mangoiv.:matrix.orgMangoIVand everything being IO 13:21:10
@sternenseemann:systemli.orgsterni (he/him)we can just replace the generics / TH instance deriving with a few small m4 scripts problem solved :313:21:35
@teoc:matrix.orgTeo (he/him) So once DH is done there's space for TH haha! 13:21:50
@emilazy:matrix.orgemilyfor GHC this unironically seems perfectly adequate. (is the joke that it used to be this)13:22:27
@teoc:matrix.orgTeo (he/him) I am genuinely tempted to pitch this for the alternative way to fix the issue with typeclass instances in GHC 13:22:35
@emilazy:matrix.orgemilylike have a damn Python script doing code generation for all I care13:22:54
@emilazy:matrix.orgemilyif it's just for GHC bootstrap13:23:02
@mangoiv.:matrix.orgMangoIVjust use CPP macros? 13:23:05
@teoc:matrix.orgTeo (he/him)GHC already has a bunch of these for generating C code13:23:10
@emilazy:matrix.orgemilyok I have an idea13:23:19
@emilazy:matrix.orgemilywhat if we extend this to solve codegen problems too13:23:26
@teoc:matrix.orgTeo (he/him) yeah maybe, or python or whatever. I don't mind too much 13:23:29
@emilazy:matrix.orgemilywe would need to use a language that we can trust to be present on all Unix systems13:23:42
@emilazy:matrix.orgemilylike say Perl13:23:45
@emilazy:matrix.orgemilywe could have a Perl script13:23:51

Show newer messages


Back to Room ListRoom Version: 6