Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,781 events total
2021-07-29 12:02:49 <maerwald> I wonder when there'll be a release where I don't have to get into these kind of discussions. They happen *every* release.
2021-07-29 12:03:12 <merijn> maerwald: Well, you don't *have* to get into these discussions :)
2021-07-29 12:03:22 <merijn> You can just leave them unanswered/addressed :p
2021-07-29 12:03:38 <sshine> or maybe refer back to previous discussion if it's the same?
2021-07-29 12:03:42 <yushyin> btw. stack annoyingly does not support mixins in stack repl. it was the reason why i used cabal (and ghcup) again
2021-07-29 12:03:46 <dminuoso> Im going to argue that the majority of stack users use stack for no reason other than they started out with stack and never bothered to consider their choices after the newbie phase.
2021-07-29 12:04:05 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 268 seconds)
2021-07-29 12:04:08 <dminuoso> Not saying that there's people who genuinely prefer stack, but Im not sure that this is the majority
2021-07-29 12:04:16 <merijn> dminuoso: And they mostly started with it due to FP Complete's beginner writings asserting it is good :p
2021-07-29 12:04:23 <dminuoso> Sure
2021-07-29 12:04:34 <maerwald> there are already some users who use ghcup in conjunction with stack and they prefer that over letting stack manage GHC versions
2021-07-29 12:04:56 <drewefenwick[m]> dminuoso: And they read a tutorial written before Cabal 3 or even Cabal nix-style builds that said that Stack was better
2021-07-29 12:04:57 <merijn> maerwald: That just strikes me as weird, tbh
2021-07-29 12:05:08 <maerwald> merijn: well, you save disk space, sorta
2021-07-29 12:05:16 slowButPresent joins (~slowButPr@user/slowbutpresent)
2021-07-29 12:05:17 <maerwald> merijn: e.g. HLS devs always need cabal and stack
2021-07-29 12:05:21 <maerwald> they have to test with both
2021-07-29 12:05:26 <dminuoso> As if disk spave is an issue in 2021. :-)
2021-07-29 12:05:50 <maerwald> yah, no idea
2021-07-29 12:05:51 <dminuoso> 1TiB in a laptop is a regular thing already
2021-07-29 12:06:22 <dminuoso> If I was really short on disk space, I wouldn't be writing Haskell to begin with.
2021-07-29 12:06:35 <viluon> dminuoso: I'm writing Haskell and have a 256 GB SSD
2021-07-29 12:06:47 drewefenwick[m] is now known as Drew[m]
2021-07-29 12:07:18 <viluon> it is a pain, esp. with multiple local installations of GHC *and* a couple local clones
2021-07-29 12:07:25 <dminuoso> viluon: Let me guess. Macbook and no interest in throwing away money? :p
2021-07-29 12:07:34 <viluon> ThinkPad
2021-07-29 12:07:39 <dminuoso> Curious
2021-07-29 12:07:54 <dminuoso> Why not buy a 1TiB SSD for a hundred bucks?
2021-07-29 12:08:20 <maerwald> dminuoso: well, one GHC install is 2GB
2021-07-29 12:08:24 <viluon> you were right about the "no interest in throwing away money." I also lack the tools for a DIY upgrade though.
2021-07-29 12:08:41 <dminuoso> Im a thinkpad user.. you dont have a screwdriver?
2021-07-29 12:08:47 <viluon> nope
2021-07-29 12:09:32 <viluon> I'd require more than just a screwdriver though, I need a way to transfer my data
2021-07-29 12:10:23 <dminuoso> Mmm, well you can just buy a USB SATA interface for 5 bucks alongside the SSD. :p
2021-07-29 12:10:34 × fossdd quits (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-29 12:10:38 <dminuoso> But anyway, not trying to convince you
2021-07-29 12:10:51 <viluon> I should definitely upgrade, hopefully next month
2021-07-29 12:10:59 fossdd joins (~fossdd@sourcehut/user/fossdd)
2021-07-29 12:11:17 <viluon> I suppose I can't just `dd` a mounted partition and expect everything to work though
2021-07-29 12:11:58 <dminuoso> Well, you can just reboot onto a usb stick, and then `dd` the internal disk to the new SSD connected via the USB SATA interface
2021-07-29 12:12:04 <dminuoso> Or some such
2021-07-29 12:12:29 <viluon> true
2021-07-29 12:12:35 <viluon> maybe I even have a USB stick
2021-07-29 12:13:13 <viluon> anyway: anecdotal evidence that drive space can still be an issue in 2021
2021-07-29 12:13:14 <Drew[m]> The whole moving drive procedure gives me data loss anxiety
2021-07-29 12:13:24 <viluon> Drew[m]: smae
2021-07-29 12:13:26 <viluon> same*
2021-07-29 12:15:40 × pschorf quits (~user@c-73-77-28-188.hsd1.tx.comcast.net) (Remote host closed the connection)
2021-07-29 12:16:05 <Drew[m]> What if I lose all my loose markdown files containing barely started story ideas and incoherent ramblings about technical topics
2021-07-29 12:16:20 <sshine> dminuoso, "the majority of stack users use stack for no reason other than they started out with stack and never bothered to consider their choices after the newbie phase." -- I suppose my newbie phase has been 9 years now, but I did set up cabal on CI, and every time I have to bump the version constraints, I'm reminded of why I'm apparently still a noob. :P
2021-07-29 12:16:40 <merijn> sshine: How so?
2021-07-29 12:17:05 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 265 seconds)
2021-07-29 12:17:25 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-29 12:18:18 <sshine> merijn, I'll ping you when it's time to do it again. ;-) I ended up in some weird dependency equation where I couldn't find packages that worked together.
2021-07-29 12:18:42 <yushyin> viluon: it sure is. you wouldn't believe how often people complain in #latex that they are missing latex package xy and still refuse to just install texlive-full because they don't feel like sacrificing the 4-6GB for it. :D
2021-07-29 12:19:51 <sshine> dminuoso, or rather: I'm a fan of stackage. and I'm a fan of having a file in my project directory that says which GHC to use, and that that GHC is located somewhere manageable by non-root. that's pretty much why I'm a stack user, I think...
2021-07-29 12:20:35 <viluon> yushyin: I wish a day will come when package managers and build systems are things of the past and a compilation process only fetches and caches the objects it truly needs, garbage-collecting long unused "dependencies."
2021-07-29 12:20:35 pschorf joins (~user@c-73-77-28-188.hsd1.tx.comcast.net)
2021-07-29 12:20:36 <sshine> dminuoso, I *think* that the moment I put anything besides 'resolver: lts-...' in stack.yaml, I'm sort of screwing myself over. (I learned recently that extra-deps do not propagate.)
2021-07-29 12:20:50 <merijn> sshine: You can have a file in your directory saying which GHC to use ;)
2021-07-29 12:21:14 <sshine> merijn, such that 'ghc build' will infer the content of that file?
2021-07-29 12:21:29 <merijn> sshine: When using ghc manually?
2021-07-29 12:21:34 <merijn> Then no
2021-07-29 12:21:41 <sshine> merijn, not necessarily. I'm not bent on calling my wrapper "stack".
2021-07-29 12:22:03 <merijn> sshine: I mean in the sense that cabal.project already lets you specify arbitrary ghc to use
2021-07-29 12:22:09 <sshine> merijn, I just think that having a prefix to my build tools is nicer than having something like python's virtualenv where I have to remember to type something before I enter a directory in order to fix PATH.
2021-07-29 12:22:30 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-29 12:22:54 <maerwald> One of the reasons I switched from stack to cabal at one workplace was that bumping versions in stack is just incredibly difficult. And nix people might not like this, but: practical software security is mainly just "bump your deps as often as possible".
2021-07-29 12:22:56 <merijn> sshine: Both cabal and GHC already support multiple parallel installs out-of-the-box (well, of different GHC versions, multiple installs of the same GHC version might give issues, but then you deserve it :p)
2021-07-29 12:23:00 <sshine> merijn, ah. I don't think I've used cabal.project files. what command would I type to build a project with the GHC specified there?
2021-07-29 12:23:19 <maerwald> migrating from one major solver to another is just too much work... better update regularly
2021-07-29 12:23:22 × fossdd quits (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-29 12:23:41 <maerwald> you want to keep the impact low, not get a whole set of surprises when updating the solver
2021-07-29 12:23:49 <maerwald> you can't do that with stack
2021-07-29 12:23:51 <merijn> sshine: cabal has a -w flag to specify which compiler to use and the cabal.project file can persist that so you don't have to manually pass it
2021-07-29 12:23:53 <maerwald> it doesn't support this workflow
2021-07-29 12:24:15 fossdd joins (~fossdd@sourcehut/user/fossdd)
2021-07-29 12:24:38 <maerwald> if you don't care about software security, all these things might not matter
2021-07-29 12:24:59 <merijn> sshine: You can use "cabal configure --with-compiler=path/to/ghc" to persist it
2021-07-29 12:25:03 <sshine> maerwald, right. I'd rather bump rarely and deal with it then. but I guess there are drawbacks with that. I haven't had to maintain something big in Haskell over a long time. the projects that I've worked on commercially have had few unchanging dependencies and never propagated much back to the ecosystem.
2021-07-29 12:25:24 <merijn> sshine: Personally I have 4-8 parallel installs of GHC in my user dir (most recent version first in path, so ghc default to that)
2021-07-29 12:25:46 <maerwald> sshine: I mean... if you use npm and don't update for 6 months
2021-07-29 12:25:46 <merijn> sshine: Since the bin dirs include version tagged executable for ghc (i.e. ghc-8.2, ghc-9.0, etc)
2021-07-29 12:25:57 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 245 seconds)
2021-07-29 12:26:00 <maerwald> you're gonna have a thousand high-risk vulnerabilities
2021-07-29 12:26:02 <merijn> sshine: So I can just use "cabal -w ghc-8.2" to use a non-default GHC version
2021-07-29 12:26:11 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-29 12:26:14 <maerwald> *known* ones
2021-07-29 12:26:23 <merijn> maerwald: Whether that matters depends on the security model
2021-07-29 12:26:36 <merijn> maerwald: Like, a commandline tool its gonna matter less than a webserver :p
2021-07-29 12:26:47 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
2021-07-29 12:26:55 <maerwald> what about a blockchain
2021-07-29 12:26:57 <sshine> merijn, I'll give the cabal.project approach a go the next time I bump my CIs.
2021-07-29 12:27:20 <sshine> blockchain that depends on arbitrary npm packages deserve whatever they have coming for them.
2021-07-29 12:27:34 <merijn> sshine: Note that that doesn't install it, though. So that assumes you have all relevant versions of GHC installed on your system
2021-07-29 12:27:48 <sshine> merijn, sure, okay.
2021-07-29 12:27:50 <merijn> sshine: otoh, ghcup can fix that for you ;)
2021-07-29 12:27:54 <maerwald> sshine: lol, no... I mean blockchain depending on haskell
2021-07-29 12:29:36 <sshine> merijn, yeah, I mean, I understand that it's sliced-and-diced differently; I suppose the big difference is whether or not to maintain package sets, or not. but I've learned now that this evidently also relates to how frequently one maintains dependencies.
2021-07-29 12:30:11 <maerwald> You'd think PVP was invented exactly for that purpose... so you can move forward freely without such stuff as a fixed package set and then bump major versions occasionally

All times are in UTC.