Logs: liberachat/#haskell
| 2021-07-29 11:32:38 | <sm> | nothing unfortunately, I'd like to know the answer too |
| 2021-07-29 11:33:42 | <merijn> | sshine: Which question as you referring to? |
| 2021-07-29 11:33:44 | <merijn> | eh |
| 2021-07-29 11:33:47 | <merijn> | s/sshine/sm |
| 2021-07-29 11:34:42 | <maerwald> | sm: I think the answer is that stack shouldn't do an in-place upgrade by default, but install into e.g. ~/.local/bin or whatever is configured |
| 2021-07-29 11:35:34 | <maerwald> | ghcup by default does that too... you have to pass `--inplace` if you want that |
| 2021-07-29 11:36:28 | <sm> | merijn: "I'm new to this. Why should I choose it over stack?" at https://www.reddit.com/r/haskell/comments/ottx21/ann_ghcup01161_released/ |
| 2021-07-29 11:37:08 | <maerwald> | sm: ah, you mean that |
| 2021-07-29 11:37:20 | <maerwald> | I think my answer is pretty accurate. |
| 2021-07-29 11:37:50 | <merijn> | The answer is "because lots of people don't like stack and lots of linux distros fuck up the packaging of GHC/cabal" |
| 2021-07-29 11:38:01 | <sm> | merijn: "you should choose ghcup because it doesn't overwrite itself, unlike stack upgrade" ? |
| 2021-07-29 11:38:13 | <maerwald> | sm: what? |
| 2021-07-29 11:38:16 | <sshine> | merijn, if one or two paths are missing, will the program supply a default path or will a section of code not run? |
| 2021-07-29 11:38:25 | <drewefenwick[m]> | If you only want to use the Stack workflow with no system GHC then GHCup doesn't give you that much extra AFAIK at the moment. If you want straight GHC or a cabal workflow then GHCup is very handy. |
| 2021-07-29 11:38:45 | <merijn> | sshine: It's basically diffing configs, so either diff two specified configs or diff one specified config to the default |
| 2021-07-29 11:39:09 | <merijn> | sm: "you should choose ghcup because you think figuring out which GHC bindist to download is to complex" |
| 2021-07-29 11:39:16 | <sshine> | merijn, what does zero config paths mean then? |
| 2021-07-29 11:39:17 | <sm> | OP asks a very simple question and ghcup should have a simple and clear answer to this if it's to succeed with new folks |
| 2021-07-29 11:39:27 | <maerwald> | sm: there is a simple and clear answer |
| 2021-07-29 11:39:29 | <merijn> | sshine: Just dumping out the diff of the default |
| 2021-07-29 11:39:32 | <maerwald> | did you read my response? |
| 2021-07-29 11:39:46 | × | fossdd quits (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 11:39:48 | <sm> | maerwald: which response ? |
| 2021-07-29 11:39:52 | <maerwald> | sm: on reddit |
| 2021-07-29 11:40:17 | <sm> | maerwald: https://www.reddit.com/r/haskell/comments/ottx21/ann_ghcup01161_released/h6xsowf/ ? |
| 2021-07-29 11:40:50 | → | fossdd joins (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 11:40:50 | <sshine> | makes sense. |
| 2021-07-29 11:40:50 | <maerwald> | Yes |
| 2021-07-29 11:42:18 | × | chomwitt quits (~chomwitt@2a02:587:dc01:5c00:12c3:7bff:fe6d:d374) (Ping timeout: 276 seconds) |
| 2021-07-29 11:43:27 | <sshine> | I understand this as a step on the way. the things snoyberg wrote about having a shared library for managing GHC installations seems like a nice future goal. I guess pushing GHC management responsibility out of Stack and into a library, only so that either Stack or GHCup can refer to this, is the way forward from having competing tools? kinda like having cabal as a format, and not just a tool. :) |
| 2021-07-29 11:43:38 | <sm> | maerwald: yes I read it, I just pinged you and gave you feedback about it. I think it's not very motivating and a better answer is needed for folks like the OP. Take it FWIW. |
| 2021-07-29 11:44:18 | <maerwald> | sm: I don't understand what other answer you expect |
| 2021-07-29 11:44:23 | <sshine> | whether 'stack upgrade' eventually runs a sub-command that triggers this code, or 'ghcup ...' does, should be a CLI preference. |
| 2021-07-29 11:45:21 | <maerwald> | sshine: there was never an attempt to write a shared library and the blog post you mentioned also didn't have this as a motivation |
| 2021-07-29 11:45:35 | <sshine> | maerwald, oh, okay. |
| 2021-07-29 11:46:06 | <merijn> | sm: tbh, I think the question there has a whole bunch of built in assumptions that run counter to the target audience of ghcup |
| 2021-07-29 11:46:18 | <merijn> | sm: You say "this person needs a better answer to be convinced to use ghcup" |
| 2021-07-29 11:46:30 | <maerwald> | then my answer is: don't :) |
| 2021-07-29 11:46:31 | <merijn> | sm: I say "this person sounds like they're not in the target audience of ghcup" |
| 2021-07-29 11:46:39 | <maerwald> | yep |
| 2021-07-29 11:46:58 | <sshine> | maerwald, yeah, https://www.snoyman.com/blog/2021/05/unified-haskell-installer/ -- the section called "The Goal": What I'd like to see is a well maintained Haskell library for installing Haskell toolchains, generally acknowledged as the de facto standard way to install GHC and other tools. It should be Haskell, so that it's easy for Haskellers to maintain. It should support as many operating systems as |
| 2021-07-29 11:47:04 | <sshine> | possible. It should provide an easy-to-use Haskell API that other tooling can leverage. |
| 2021-07-29 11:47:27 | <sshine> | maerwald, of course, I interpreted with some degree of freedom. :) |
| 2021-07-29 11:47:28 | <sm> | maerwald: you said "not a replacement for stack", "supports installing and managing stack versions", "does the same for cabal, GHC and HLS", "doesn't make a workflow choice for you" - I'm just pointing out that to a new haskeller, especially one already using stack, these sound obscure or like disadvantages. I hope that makes sense. I don't expect anything, I'm just trying to help. |
| 2021-07-29 11:47:37 | <merijn> | sm: The target audience of ghcup is "grumpy unix curmudgeons who dislike package manager induced breackage of haskell tooling" |
| 2021-07-29 11:47:41 | → | viluon joins (uid453725@id-453725.brockwell.irccloud.com) |
| 2021-07-29 11:48:17 | <sshine> | merijn, grumpy unix curmudgeons don't like Stack? |
| 2021-07-29 11:48:37 | <merijn> | I don't and maerwald doesn't and I consider us prototypical grumpy unix curmudgeons :p |
| 2021-07-29 11:49:05 | <maerwald> | I was talked into supporting stack... so don't blame me |
| 2021-07-29 11:49:07 | sshine | wonders if prototype inheritance will solve this. |
| 2021-07-29 11:49:57 | <drewefenwick[m]> | IIRC Snoyman hasn't approached anyone to make GHCup this unified GHC installer that Stack uses to install GHC. |
| 2021-07-29 11:49:57 | <sm> | merijn, is that really true ? maerwald seems to push it as the haskell install tool |
| 2021-07-29 11:49:58 | <merijn> | sm: ghcup came from "people don't like stack, but installing the bindists from the website is guess work which version you need and package managers like Arch keep breaking tools" -> "ghcup reliably and predictably install correct bindist for you" |
| 2021-07-29 11:50:14 | <maerwald> | sm: no, the HF did |
| 2021-07-29 11:50:15 | <sshine> | maerwald, so, just to understand: if I install stack with ghcup, besides not running 'stack upgrade' to confuse ghcup, should I always use a system-ghc? |
| 2021-07-29 11:50:25 | <maerwald> | sm: HF wanted windows support, HF wanted stack support |
| 2021-07-29 11:50:29 | <maerwald> | I didn't want either of those |
| 2021-07-29 11:50:39 | <viluon> | can Hoogle search for types or typeclasses by kind signature? |
| 2021-07-29 11:51:12 | <maerwald> | sshine: doesn't matter, does it? You'll just have potentially multiple instances of one GHC version installed |
| 2021-07-29 11:51:34 | × | Obo quits (~roberto@94.191.137.235.mobile.tre.se) (Ping timeout: 250 seconds) |
| 2021-07-29 11:51:36 | <merijn> | viluon: No clue, try it? :p |
| 2021-07-29 11:51:51 | <viluon> | merijn: tried on the online instance, didn't work |
| 2021-07-29 11:52:07 | <sm> | maerwald: I'm thinking of a proposal from snoyman about making stack more universal which you kind of shot down and pushed full speed ahead with ghcup |
| 2021-07-29 11:52:12 | <sshine> | maerwald, well, I suppose it mattered slightly if 1) ghcup installs system-ghc, 2) running stack the first time installs another ghc. -- seems kinda silly. but I guess just bundling stack with a system-ghc that isn't necessarily the stack ghc is still sort of useful. |
| 2021-07-29 11:52:21 | <viluon> | I'm wondering if the commandline tool can do it, if there's a flag or config option or something |
| 2021-07-29 11:52:24 | <maerwald> | sm: "shot down"? |
| 2021-07-29 11:52:26 | <viluon> | (I don't have Hoogle locally) |
| 2021-07-29 11:52:38 | <sm> | yes |
| 2021-07-29 11:52:45 | <maerwald> | sm: that's untrue |
| 2021-07-29 11:52:57 | <sm> | I am certainly be confused about ghcup's goals now, so others will be too |
| 2021-07-29 11:53:15 | <sshine> | maerwald, I'm just thinking, if two tools refer to the same GHC installation, doing so with a shared library would make a lot of sense. :-D that's why I assumed this was a step on the way to something similar to what Snoyman described. |
| 2021-07-29 11:53:17 | <merijn> | sm: ghcup's goals are: install GHC/cabal/hls |
| 2021-07-29 11:53:34 | <sshine> | merijn, /stack now? |
| 2021-07-29 11:53:36 | <merijn> | sm: Including managing installs of multiple versions |
| 2021-07-29 11:53:54 | <merijn> | sshine: Well, according to maerwald that's not a goal, merely something demanded from externally |
| 2021-07-29 11:54:07 | <sshine> | merijn, who's demanding? |
| 2021-07-29 11:54:24 | <merijn> | Haskell Foundation, per maerwald's words, like, 30 seconds ago :p |
| 2021-07-29 11:54:51 | <merijn> | "13:50 < maerwald> sm: HF wanted windows support, HF wanted stack support" |
| 2021-07-29 11:55:03 | <sm> | merijn: ok, I understand that as far as it goes. I'm still curious what's a good answer to "I'm new to this. Why should I choose it over stack?" |
| 2021-07-29 11:55:22 | <merijn> | sm: "Because you don't like stack's mandated workflow" |
| 2021-07-29 11:55:22 | × | fossdd quits (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 11:56:00 | → | fossdd joins (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 11:57:24 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 11:58:00 | <merijn> | Stack is very opinionated and many people strongly disagree with its opinions, but some people find installing cabal/GHC bindists to tricky/annoying, so ghcup takes care of that for you. Your question (and the original one) are predicated on "stack is a good default tool, therefore argumentation to use something else is required" |
| 2021-07-29 11:58:01 | <maerwald> | sm: 1. the proposal you mentioned was nothing but confusing and didn't represent the current state of the ecosystem correctly, 2. Stack team never collaborated with me and doesn't until today (despite multiple attempts to improve integration, including several patches), 3. I didn't "shoot" down anything. I was correcting the misrepresentation. |
| 2021-07-29 11:59:20 | <sm> | maerwald: that's how it read to me, again take it FWIW |
| 2021-07-29 11:59:21 | <merijn> | sm: There are many people (including myself) who do not think stack is a good tool. Therefore there is no reason for me to argue "why use this over stack?". I didn't ever consider stack an option to begin with |
| 2021-07-29 11:59:29 | <maerwald> | sm: well, you're incorrect |
| 2021-07-29 11:59:30 | <sm> | I'm just some crackpot on the internet |
| 2021-07-29 12:00:00 | <sshine> | oh, you're also a simon, sm. |
| 2021-07-29 12:00:13 | <merijn> | The value proposition of ghcup isn't "what does this provide over stack?", the value proposition is "what does ghcup provide over manually downloading bindists/using apt-get?" |
| 2021-07-29 12:00:37 | <sm> | merijn: isn't there a simpler, calmer answer ? a newbie friendly one, without the drama ? that's the one I'd like to read |
| 2021-07-29 12:00:46 | <merijn> | sm: What drama? |
| 2021-07-29 12:00:57 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 2021-07-29 12:00:59 | <maerwald> | the only drama I read is from you right now :p |
| 2021-07-29 12:01:33 | <sm> | alright. Thanks for the chat, anyway |
| 2021-07-29 12:01:35 | <merijn> | sm: The value proposition of ghcup over downloading bindists is "no need to guess which bindist you need for your obscure distro" |
| 2021-07-29 12:02:11 | <merijn> | sm: The value proposition of ghcup over apt-get/Arch's package manager is: ability to manage multiple concurrent versions, get predictable tooling across distros (i.e. avoiding arch's broken packages) |
| 2021-07-29 12:02:12 | <sm> | night all |
| 2021-07-29 12:02:40 | <merijn> | Which seem perfectly clear goals/value propositions |
All times are in UTC.