!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

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

Load older messages


SenderMessageTime
20 Feb 2025
@sternenseemann:systemli.orgsterni (he/him) angerman: I felt like this was the most valuable immediate feedback I could give at the time since I assumed this was probably something people that aren't packaging GHC wouldn't immediately think about. Though, on reflection, it was maybe worded too strongly: Even if cabal-install is annoying to bootstrap; if the new build system is simpler, easier to change and has less undercooked areas it'd be much better than hadrian. 23:28:55
@sternenseemann:systemli.orgsterni (he/him)I still want to look at the actual implementation to figure out how bespoke the usage of cabal-install is23:30:43
@angerman:matrix.organgermanI'm being faced with "why are we doing this even? Hadrian is working perfectly fine, no one (link to issue) wants this".23:37:51
@angerman:matrix.organgerman😅23:38:00
@angerman:matrix.organgerman Untangling this mess of ghc and hadrian's symbiotic relationship should result in (a) better separation of conerns. (b) better cabal-install. I do not say we will not need to make cabal-install better, of course we do, but let's stop sinking time into hadrian, that could be used to improve cabal for everyone, not jsut some bespoke build system for GHC, which is also very atrocious. 23:39:46
21 Feb 2025
@alexfmpe:matrix.orgalexfmpe angerman: sterni with https://github.com/NixOS/nixpkgs/pull/383528 possibly being the last step in the nixpkgs-js-backend track, I'm thinking about messing with mobile soon
I ran into the TH issue before on https://github.com/NixOS/nixpkgs/pull/355543 and am wondering how to address that
01:50:37
@alexfmpe:matrix.orgalexfmpeIIUC haskell.nix does target TH via qemu01:50:49
@alexfmpe:matrix.orgalexfmpewhereas reflex-platform, even in its haskell.nix based rewrite, does host TH with some splices plugin or something01:51:38
@alexfmpe:matrix.orgalexfmpeI'd like to get at least one of them in nixpkgs, but don't know how they compare01:52:37
@alexfmpe:matrix.orgalexfmpe cc John Ericson 01:53:51
@Ericson2314:matrix.orgJohn Ericson alexfmpe: IMO if the staging iports things lands 01:58:35
@Ericson2314:matrix.orgJohn Ericsonthe non-jank version of obsidian's splicing patch becomes possible01:58:45
@Ericson2314:matrix.orgJohn Ericsonand then that is kind of a tie breaker event01:58:58
@Ericson2314:matrix.orgJohn Ericsonthat makes it better than the external interpreter01:59:08
@angerman:matrix.organgerman Template Haskell is an absolute train wreck. The qemu approach is the one that is the most conservative. Cross splicing under TH conditions is potentially dangerous across architectures. It also assumes you have a build native equivalent for all host libraries. 02:03:24
@angerman:matrix.organgerman Cross splicing will work most of the time though. 02:03:48
@angerman:matrix.organgerman It is bound to fail if you build system is 64 bit and target is 32bit and you end up embedding Word sizes and similar. For the JS backend though, I don’t think we use qemu at all. It’s basically still the th runner approach with node. 02:05:33
@angerman:matrix.organgermanI will note that for android, we have a fairly big PR, that tries to fix a lot of issues.02:08:16
@angerman:matrix.organgermanhttps://github.com/input-output-hk/haskell.nix/pull/187402:09:00
@angerman:matrix.organgermanOne neat thing with the iserv appraoch is that it lays the groundwork of remote debugging. So having that work is important (to me).02:09:36
@angerman:matrix.organgerman alexfmpe: good job on the windows cross stuff! Just don't expect to get 8.10 to work if you ever try. And haskell.nix has patches to keep MSVCRT alive (for now). 02:11:36
@alexfmpe:matrix.orgalexfmpeoh yeah windows was more of a "wonder what state that thing is in" adventure02:17:34
@alexfmpe:matrix.orgalexfmpeyeah this creeps me out a bit in the abscence of pure template haskell02:20:25
@alexfmpe:matrix.orgalexfmpe* yeah this creeps me out a bit in the absence of pure template haskell02:20:31
@angerman:matrix.organgermanTH has unrestricted IO. It should be burned in fire. But it is what it is... ab absolute abomination and very few who understand how bad it is.02:21:13
@Ericson2314:matrix.orgJohn Ericson I agree in theory but we haven't gotten bit yet IIRC 02:30:30
@Ericson2314:matrix.orgJohn Ericson angerman: I hope that the matthew thing will mean that we can serialize and deserialize core too 02:31:40
@Ericson2314:matrix.orgJohn Ericsonoption of saving and loading after pipeline stages02:31:52
@Ericson2314:matrix.orgJohn Ericsonthis will be really good for finding bugs in GHC02:31:59
@alexfmpe:matrix.orgalexfmpewell, I don't really need an answer for applying to nixpkgs today, more like knowing towards what is worth contributing over a long term02:42:50

Show newer messages


Back to Room ListRoom Version: 6