Logs: freenode/#haskell
| 2020-11-24 19:22:44 | <merijn> | glguy: What's the benefit over shipping 100+ haskell library packages used by pandoc vs just shipping staticall linked pandoc? |
| 2020-11-24 19:22:59 | <Clint> | we do ship statically linked pandoc |
| 2020-11-24 19:23:00 | <glguy> | merijn: ideally the community could come up with two executables worth installing? |
| 2020-11-24 19:23:03 | <Clint> | but we need the libraries to build them |
| 2020-11-24 19:23:06 | <merijn> | glguy: It just pisses of users |
| 2020-11-24 19:23:21 | <merijn> | glguy: Two executables that happen to share the exact transitive dependency resolution? |
| 2020-11-24 19:23:36 | <glguy> | No, not exact, just overlapping |
| 2020-11-24 19:23:43 | <merijn> | glguy: Because if they depend (transitively) on different versions of the same lib, you still gotta build things |
| 2020-11-24 19:23:58 | <Clint> | that is why stackage makes things easier |
| 2020-11-24 19:24:18 | <merijn> | glguy: The main advantage in the C world is that you can independently update libraries, but GHC doesn't allow that anyway |
| 2020-11-24 19:24:23 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 2020-11-24 19:24:57 | <maerwald> | Clint: ? |
| 2020-11-24 19:25:21 | <merijn> | Clint: Stack makes things *simpler* (it's failure model for build plans is just "it works" or "it does not, tough shit") not *easier*. |
| 2020-11-24 19:25:42 | <merijn> | And in the 2nd case, good luck ever fixing it to work |
| 2020-11-24 19:25:49 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-11-24 19:25:50 | <glguy> | It makes things easier for packagers if the developers are all targetting the same resolver, though |
| 2020-11-24 19:25:56 | <dminuoso> | The only mentality where all of this works is nix. |
| 2020-11-24 19:25:57 | <ezzieyguywuf> | maerwald: like I said, the ghc installation isn't really an issue, I can use portage to install the upstream binary |
| 2020-11-24 19:25:59 | <merijn> | glguy: Sure |
| 2020-11-24 19:26:17 | <merijn> | glguy: And if we all just use a single programming language and compiler for everything optimisation would be a breeze! :D |
| 2020-11-24 19:26:18 | <maerwald> | I don't think gentoo ever followed stackage though |
| 2020-11-24 19:26:28 | <ezzieyguywuf> | I guess it's the cabal-install that's an issue, since either (a) y'all don't provide a binary, or (b) gentoo doesn't provide an option to install said binary |
| 2020-11-24 19:26:40 | <merijn> | dminuoso: s/where all of this works/where all of this works *in theory* |
| 2020-11-24 19:26:43 | <ezzieyguywuf> | maerwald: what do you mean "followed stackage"? |
| 2020-11-24 19:26:53 | <maerwald> | ezzieyguywuf: used the version defined in stackage |
| 2020-11-24 19:26:56 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 2020-11-24 19:26:57 | × | tom__ quits (~tom@2a00:23c8:970a:3501:38a6:4546:df42:c1cb) (Read error: Connection reset by peer) |
| 2020-11-24 19:26:59 | <dminuoso> | merijn: well it works in practice too, largely. Of course its not perfect, but tell me one package manager that is. |
| 2020-11-24 19:28:03 | <ezzieyguywuf> | you're right, it's getting its binary from https://slyfox.uni.cx for some reason... |
| 2020-11-24 19:28:22 | <maerwald> | that's not what I meant, but anyway |
| 2020-11-24 19:28:49 | <ezzieyguywuf> | oh wait nvm, it comes from downloads.haskel.org |
| 2020-11-24 19:28:49 | <maerwald> | https://www.stackage.org/ |
| 2020-11-24 19:28:50 | → | Franciman joins (~francesco@host-82-54-193-143.retail.telecomitalia.it) |
| 2020-11-24 19:28:57 | <maerwald> | stackage is just a package set |
| 2020-11-24 19:29:08 | <maerwald> | NixOS follows it |
| 2020-11-24 19:29:17 | <maerwald> | most distros don't |
| 2020-11-24 19:29:40 | × | Lycurgus quits (~niemand@98.4.114.74) (Ping timeout: 260 seconds) |
| 2020-11-24 19:30:11 | <Clint> | Debian tries |
| 2020-11-24 19:30:16 | <Clint> | but developers don't make that easy |
| 2020-11-24 19:30:51 | <maerwald> | they start packaging libs too? *sigh* |
| 2020-11-24 19:30:57 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 2020-11-24 19:31:08 | <Clint> | there's no other way to build haskell apps |
| 2020-11-24 19:31:16 | <maerwald> | on linux there is |
| 2020-11-24 19:31:22 | <merijn> | Clint: Sure there is. You just build the binary and ship it, done |
| 2020-11-24 19:31:23 | <maerwald> | debian is not a source distro |
| 2020-11-24 19:31:30 | <maerwald> | they don't need to mess with libs |
| 2020-11-24 19:31:42 | <sshine> | maerwald, they've been doing that for a long time. |
| 2020-11-24 19:31:49 | <merijn> | Clint: Why would you need to package each Haskell library independently? |
| 2020-11-24 19:32:03 | <sshine> | merijn, so you don't need to compile them. |
| 2020-11-24 19:32:10 | <sshine> | merijn, so they work together. |
| 2020-11-24 19:32:15 | <merijn> | sshine: Distros *already* ship binaries |
| 2020-11-24 19:32:21 | <sshine> | merijn, it's a binary snapshot :) that idea in itself isn't bad. |
| 2020-11-24 19:32:31 | <merijn> | sshine: So why not ship the final executable and call it a day |
| 2020-11-24 19:32:42 | × | knupfer quits (~Thunderbi@i59F7FF7E.versanet.de) (Ping timeout: 272 seconds) |
| 2020-11-24 19:32:45 | <sshine> | merijn, aren't we talking libraries? |
| 2020-11-24 19:32:52 | <Clint> | why would you hide all the libraries you've already packaged? |
| 2020-11-24 19:33:05 | <maerwald> | hint: dynamic linking doesn't really work well in haskell and doesn't give you the same capabilities C does |
| 2020-11-24 19:33:09 | <sshine> | Clint, who is hiding libraries? |
| 2020-11-24 19:33:13 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
| 2020-11-24 19:33:13 | <merijn> | sshine: Installing pandoc installs 100+ dependencies that all update super frequently |
| 2020-11-24 19:33:18 | <Clint> | sshine: merijn is objecting to shipping libraries |
| 2020-11-24 19:33:20 | → | francesco_ joins (~francesco@host-82-54-193-143.retail.telecomitalia.it) |
| 2020-11-24 19:33:28 | <maerwald> | *for haskell* |
| 2020-11-24 19:33:45 | × | Franciman quits (~francesco@host-82-54-193-143.retail.telecomitalia.it) (Ping timeout: 240 seconds) |
| 2020-11-24 19:33:46 | <sshine> | Clint, via debian/ubuntu's package manager? |
| 2020-11-24 19:33:50 | <sshine> | Clint, yeah that's crazy. :P |
| 2020-11-24 19:33:52 | <merijn> | sshine: It's causing *massive* amounts of frustration and pissing of Arch/etc. users and none of them blame their distro, they all blame Haskell |
| 2020-11-24 19:34:09 | <merijn> | Clint: I'm objecting to shipping *haskell* libraries |
| 2020-11-24 19:34:36 | <merijn> | It's dumb. There's 0 actual reuse happening, it triggers tons of cascade updates, pisses off users, and has no pragmatic benefits |
| 2020-11-24 19:34:41 | <Clint> | right, so we would need to build them and then hide them to not ship them |
| 2020-11-24 19:35:02 | <Clint> | which is absurd |
| 2020-11-24 19:35:02 | <sshine> | merijn, I'm saying the intent is good. but I don't think that snapshot-based OS package managers are fit for frequent micro-updates. I think it creates an unnatural discrepancy between those who make libraries and those who use them via the OS. |
| 2020-11-24 19:35:29 | <merijn> | Clint: No, why would you "need to hide them" just ship the final pandoc/whatever executable and don't ship any libraries at all, no need to hide them |
| 2020-11-24 19:35:46 | <glguy> | libraries can do things like install supporting data files and such |
| 2020-11-24 19:36:07 | <glguy> | it's not just a matter of copying an executable, right? |
| 2020-11-24 19:36:29 | <Clint> | merijn: because you need the build dependencies packaged to build the final pandoc/whatever executable |
| 2020-11-24 19:36:52 | <merijn> | glguy: 1) packagers already control where Cabal puts those files, so they just need to ship those too, which is the same like shipping anything else 2) we should fix cabal-install's prefix independence (which is on my to do list) |
| 2020-11-24 19:37:37 | <merijn> | Clint: No you don't, you can just cabal build the pandoc executable without packaging dependencies. Just use a freeze file/local mirror of package versions if you care about auditing (not that anyone is auditing Haskell libs now) |
| 2020-11-24 19:37:51 | → | ClaudiusMaximus joins (~claude@198.123.199.146.dyn.plus.net) |
| 2020-11-24 19:37:51 | × | ClaudiusMaximus quits (~claude@198.123.199.146.dyn.plus.net) (Changing host) |
| 2020-11-24 19:37:51 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 2020-11-24 19:37:56 | → | christo joins (~chris@81.96.113.213) |
| 2020-11-24 19:38:27 | <Clint> | merijn: not in debian, you can't |
| 2020-11-24 19:38:37 | <merijn> | Clint: Why not? |
| 2020-11-24 19:38:44 | → | chaosmasttter joins (~chaosmast@p200300c4a7107e01bc10c915608759f8.dip0.t-ipconnect.de) |
| 2020-11-24 19:38:47 | <Clint> | because all build dependencies have to be packaged and reproducible |
| 2020-11-24 19:38:58 | <Clint> | and buildable without network |
| 2020-11-24 19:38:59 | <merijn> | That's not "can't" that's "won't" and that's on them |
| 2020-11-24 19:39:07 | <merijn> | Clint: You can build without network fine |
| 2020-11-24 19:39:22 | <merijn> | cabal-install doesn't need a network |
| 2020-11-24 19:39:26 | <Clint> | right, i can do whatever i want if i don't care about distribution rules |
| 2020-11-24 19:39:43 | <Clint> | but you're all outraged because people are following the rules you don't care about |
| 2020-11-24 19:40:00 | × | conal quits (~conal@66.115.157.138) (Quit: Computer has gone to sleep.) |
| 2020-11-24 19:40:19 | <merijn> | Clint: If people self-impose dumb restrictions they don't get to bitch about the effect of those restrictions |
| 2020-11-24 19:40:23 | <merijn> | It's one or the other |
| 2020-11-24 19:40:24 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 2020-11-24 19:40:34 | <glguy> | This feels like a more hostile conversation than it needs to be |
| 2020-11-24 19:40:47 | <Clint> | that's true |
| 2020-11-24 19:40:54 | <Clint> | i will abscond |
| 2020-11-24 19:41:17 | <sshine> | can't have that self-imposed dumb bitching. ;) |
All times are in UTC.