angerman changed the topic of #haskell.nix to: https://input-output-hk.github.io/haskell.nix - alternative haskell infrastructure for nix; logs at https://logs.nix.samueldr.com/haskell.nix
o1lo01ol1o has joined #haskell.nix
o1lo01ol1o has quit [Ping timeout: 256 seconds]
proofofkeags has joined #haskell.nix
o1lo01ol1o has joined #haskell.nix
o1lo01ol1o has quit [Ping timeout: 240 seconds]
o1lo01ol1o has joined #haskell.nix
o1lo01ol1o has quit [Ping timeout: 272 seconds]
o1lo01ol1o has joined #haskell.nix
fendor has joined #haskell.nix
__monty__ has joined #haskell.nix
hekkaidekapus_ has joined #haskell.nix
hekkaidekapus has quit [Ping timeout: 240 seconds]
lemmih has quit [Remote host closed the connection]
lemmih has joined #haskell.nix
ptival[m] has quit [*.net *.split]
ptival[m] has joined #haskell.nix
emmanuel_erc has joined #haskell.nix
<emmanuel_erc> Hello there. I'm interested in learning about the nix tooling that is available for Haskell projects with haskell.nix (somewhat obviously, I suppose). Anyway, I haven't quite gotten a feel for whether it possible to do one thing in particular. Currently (according to my understanding), cabal2nix does something I don't quite like. When I use cabal or stack to build a project, only the files (and files that depend upon them) t
<emmanuel_erc> recently changed will only ever be compiled. However, when using cabal2nix, this doesn't happen at all. Does haskell.nix address this issue (if we're going to call it that)?
<michaelpj1> emmanuel_erc: let me check if I've understood: you don't like the fact that the Nix builds of Haskell packages are all-or-nothing, rather than incremental? Sadly, we can't easily avoid this problem to *some* degree, since the unit of caching in Nix is the derivation, and typically we have fairly large derivations. To get caching as good as cabal, we'd have to do one derivation per file. The nIxpkgs Haskell
<michaelpj1> infrastructure is one derivation per package; haskell.nix is slightly better with one derivation per component
<michaelpj1> but still, for day-to-day development, I would not recommend running `nix-build` in a loop, but rather using `shellFor` to get a shell with the right dependencies, and then using `cabal` or whatever inside that
<michaelpj1> that works totally fine, and then you get your normal cabal recompilation behaviuor
<emmanuel_erc> michaelpj1: Thank you for your answer.
<emmanuel_erc> Well, I was hoping there was a way to speed things up. However, being able to build a derivation per component is still something that I quite like.
o1lo01ol1o has quit [Remote host closed the connection]
o1lo01ol1o has joined #haskell.nix
o1lo01ol1o has quit [Ping timeout: 256 seconds]
o1lo01ol1o has joined #haskell.nix
__monty__ has quit [Quit: leaving]
o1lo01ol1o has quit [Remote host closed the connection]
o1lo01ol1o has joined #haskell.nix
o1lo01ol1o has quit [Ping timeout: 240 seconds]
fendor has quit [Remote host closed the connection]
blackriversoftwa has quit [Write error: Connection reset by peer]
ajmcmiddlin has quit [Read error: Connection reset by peer]
adamse has quit [Ping timeout: 260 seconds]
blackriversoftwa has joined #haskell.nix
ajmcmiddlin has joined #haskell.nix
adamse has joined #haskell.nix