Logs: liberachat/#haskell
| 2021-06-23 15:03:02 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-23 15:04:35 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-23 15:04:38 | <carbolymer> | is there a function `PersistEntity r => r -> Key r` in "persistent" library? I'm trying to get key of my entity |
| 2021-06-23 15:06:37 | <merijn> | carbolymer: I *think* I'm using one somewhere in my code |
| 2021-06-23 15:06:42 | <merijn> | So I think so |
| 2021-06-23 15:06:58 | <merijn> | but, eh, it can be hard to dig up the right stuff :p |
| 2021-06-23 15:07:21 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-23 15:08:25 | <sekun> | do people actually use the haskell packages from nixpkgs? |
| 2021-06-23 15:08:35 | <sekun> | for projects |
| 2021-06-23 15:08:54 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-23 15:08:57 | <Taneb> | sekun: yes |
| 2021-06-23 15:09:10 | <dminuoso> | sekun: Yes. |
| 2021-06-23 15:10:54 | <sekun> | alright cool. does it improve compile times at all compared to just cabal/stack? or there's no difference? |
| 2021-06-23 15:11:24 | <sekun> | i'm not sure if the packages on there are also binaries |
| 2021-06-23 15:11:38 | <davean> | sekun: hahaha, people try |
| 2021-06-23 15:11:44 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-23 15:11:54 | <davean> | sekun: there are some binary, sure, but cabal already caches in the same way |
| 2021-06-23 15:12:07 | <davean> | sekun: so, "marginal" at best and the nixos stuff is very limited in what it can handle |
| 2021-06-23 15:12:14 | <Taneb> | sekun: nixpkgs has a binary cache |
| 2021-06-23 15:12:51 | <davean> | sekun: it only helps at all the first compile |
| 2021-06-23 15:12:59 | × | warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection) |
| 2021-06-23 15:13:03 | × | tv quits (~tv@user/tv) (Ping timeout: 268 seconds) |
| 2021-06-23 15:13:04 | <sekun> | davean: limited in what way? sorry i'm just trying to get an idea |
| 2021-06-23 15:13:04 | <davean> | and it will have issues |
| 2021-06-23 15:13:18 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-23 15:13:23 | <dminuoso> | sekun: The primary motivation for nix is getting deterministic output. |
| 2021-06-23 15:13:24 | <sekun> | Taneb: I see |
| 2021-06-23 15:13:51 | → | tv joins (~tv@user/tv) |
| 2021-06-23 15:14:06 | <davean> | sekun: well it only supports a single version of a package at all, which falls flat on its face immedately, if you compile with flags for debugging and such, you're in a worse place than just using cabal, its always behind, historically nixos broke packages silently. .. |
| 2021-06-23 15:14:29 | <dminuoso> | sekun: In haskell+nix for actual building, it's generally a bit slower for various reasons. |
| 2021-06-23 15:14:30 | × | ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 2021-06-23 15:15:02 | <dminuoso> | And the problems davean points out are addressed in haskell.nix |
| 2021-06-23 15:15:10 | → | ystael joins (~ystael@user/ystael) |
| 2021-06-23 15:15:13 | <davean> | dminuoso: Yah, haskell.nix is WAY better |
| 2021-06-23 15:15:33 | <davean> | Ok, haskell.nix isn't actively detremental |
| 2021-06-23 15:15:37 | <davean> | which I'd claim nix is |
| 2021-06-23 15:15:46 | <dminuoso> | davean: To be fair, I think of nix a bit more like stackage wrt to versions. |
| 2021-06-23 15:15:53 | <dminuoso> | But in a way that you can transitively switch out dependencies easily |
| 2021-06-23 15:15:57 | <dminuoso> | Or modify their flags |
| 2021-06-23 15:16:01 | <davean> | dminuoso: stackage never ripped out dependency requirements |
| 2021-06-23 15:16:06 | → | warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
| 2021-06-23 15:16:08 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-23 15:16:11 | <dminuoso> | Of course not, neither has nix |
| 2021-06-23 15:16:16 | <davean> | dminuoso: YES YES nix HAS |
| 2021-06-23 15:16:19 | <davean> | Seriously |
| 2021-06-23 15:16:26 | <davean> | they actively jail broke packages as THE STANDARD |
| 2021-06-23 15:16:32 | <davean> | It lead me to SERIOUS issues |
| 2021-06-23 15:16:44 | <davean> | No, absolutely seriously this is a nix thing historically |
| 2021-06-23 15:16:52 | <Taneb> | dminuoso: yeah, that was (is?) a comman thing in nixpkgs' haskell package set |
| 2021-06-23 15:17:01 | <davean> | they had a set of packages they directly removed depencency requirements on |
| 2021-06-23 15:17:14 | <dminuoso> | Maybe I misunderstand what you mean by "ripping out dependency requirements" then |
| 2021-06-23 15:17:15 | <davean> | dminuoso: Seriously, this is a huge fucking deal |
| 2021-06-23 15:17:35 | <dminuoso> | Ah |
| 2021-06-23 15:17:37 | <davean> | dminuoso: ok,. so if I have a package that says "directory >= 1.4.1 && < 1.5" nix would rewrite it to "directory" |
| 2021-06-23 15:17:42 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-23 15:17:50 | <davean> | and build it against 1.4 |
| 2021-06-23 15:17:57 | <Taneb> | Ctrl-F in https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/haskell-modules/configuration-common.nix for "doJailbreak" |
| 2021-06-23 15:17:58 | <davean> | I lost data in production because of this shit |
| 2021-06-23 15:18:09 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:d7c7:704e:32f2:af10) (Quit: WeeChat 2.8) |
| 2021-06-23 15:18:30 | <dminuoso> | Mmm, what happened here? I recall that jailbreak was a really rare thing to do |
| 2021-06-23 15:18:32 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 2021-06-23 15:18:50 | <davean> | dminuoso: they at least at one point *always* jailbroke for what they considered the "base" package set |
| 2021-06-23 15:18:56 | <davean> | Universally |
| 2021-06-23 15:19:32 | <davean> | which things like directory were in that set |
| 2021-06-23 15:20:14 | <dminuoso> | This is strange, so the first 10ish examples I went through are all jailbroken just to get the right quickcheck and run tests.. |
| 2021-06-23 15:20:20 | <dminuoso> | Shouldn't that be a case of dontCheck? |
| 2021-06-23 15:20:22 | dminuoso | stares |
| 2021-06-23 15:20:33 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-23 15:20:43 | <davean> | dminuoso: and this is the "less scary" future |
| 2021-06-23 15:20:56 | <nshepperd> | i thought the point of nix was to not need to do those things... |
| 2021-06-23 15:21:05 | <davean> | dminuoso: they seriously use to UNIVERSALLY do it for some packages, and jailbreaking was something more |
| 2021-06-23 15:21:12 | <davean> | nshepperd: yah well |
| 2021-06-23 15:21:19 | <davean> | nshepperd: its SPECIFICLY the *haskell* stuff in nix |
| 2021-06-23 15:21:31 | <dminuoso> | davean: From what I can tell, its definitely not universal behavior. It seems to be the sledgehammer to massage bounds. |
| 2021-06-23 15:21:40 | <dminuoso> | For the odd package that wouldnt otherwise build |
| 2021-06-23 15:21:45 | <davean> | dminuoso: no, as I keep tell you, this is the "future" where they tried to back off it |
| 2021-06-23 15:21:54 | <dminuoso> | I find that hard to believe |
| 2021-06-23 15:21:57 | <davean> | dminuoso: but they did it to *every* package for certain dependencies |
| 2021-06-23 15:22:03 | <davean> | dminuoso: well its true so uh? |
| 2021-06-23 15:22:05 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-23 15:22:31 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33) |
| 2021-06-23 15:22:49 | <davean> | directory was one of them |
| 2021-06-23 15:22:59 | <davean> | it would NEVER enforce a dependency requirement on directory, AT ALL |
| 2021-06-23 15:24:51 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-23 15:25:46 | <maerwald> | Nix bashing? Lemme get popcorn first |
| 2021-06-23 15:26:24 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-23 15:27:07 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
| 2021-06-23 15:28:42 | <sekun> | Ah I checked haskell.nix and found this https://input-output-hk.github.io/haskell.nix/motivation/. I think I'll start from here and see how it goes. |
| 2021-06-23 15:29:12 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-23 15:29:37 | × | azeem quits (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it) (Ping timeout: 268 seconds) |
| 2021-06-23 15:30:05 | → | azeem joins (~azeem@176.201.6.138) |
| 2021-06-23 15:30:43 | <sekun> | davean: is the issue you mentioned also present in haskell.nix? or is it only an issue if you just use nix + nixpkgs |
| 2021-06-23 15:30:45 | → | betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be) |
| 2021-06-23 15:31:17 | <davean> | sekun: no, haskell.nix at least tries to address all the above issues and make a more honest compilation of Haskell code |
| 2021-06-23 15:31:35 | <davean> | sekun: It still won't really help your build times other than the first time, but |
| 2021-06-23 15:31:43 | <davean> | it doesn't cause you active issues :) |
| 2021-06-23 15:31:55 | <davean> | and it might even solve some problems! |
| 2021-06-23 15:32:36 | <sekun> | davean: i see that's good to hear. i guess there's really no temporary workaround for haskell's build times :( |
| 2021-06-23 15:33:33 | × | betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2021-06-23 15:33:33 | → | CookE[] joins (~thedawn@user/thedawn) |
All times are in UTC.