[Haskell-cafe] What features should an (fictitious) IDE for Haskell have?

Tom Smeding x+haskell at tomsmeding.com
Tue Dec 1 16:36:13 UTC 2020


What I believe you got hung up on is the installation script that the website (https://www.haskell.org/ghcup/) attempts to push on you. This installation scripts tries to do lots of things, but what may have worked better for you is to just offer the right precompiled binary to the user.

If you want to try, the current latest binary can be downloaded this directory (select the one for your system): https://downloads.haskell.org/~ghcup/0.1.12/
Having that and putting the binary in your PATH allows you to run the following:
$ env GHCUP_USE_XDG_DIRS=1 ghcup install hls
This will install HLS only, no additional stuff, and use the XDG directory structure.

An alternative to letting users download the right binary themselves is of course to change the script. My point is that the only part of ghcup that tries to do "too much" is that installation script, not ghcup itself.

Cheers,
Tom

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Tuesday, December 1, 2020 5:15 PM, Sven Panne <svenpanne at gmail.com> wrote:

> Am Di., 1. Dez. 2020 um 16:36 Uhr schrieb Georgi Lyubenov <godzbanebane at gmail.com>:
>
>> Things *have* changed dramatically - you can install hls via ghcup, or clone+stack install.hs <desired-version>. For vim enabling it is literally one line for your lsp client. For vscode you don't even need to download/install it - there are static executables and installing the extension is enough.
>
> Looking at https://taylor.fausak.me/2020/11/22/haskell-survey-results/#s2q1, stack is by far the most popular way to manage GHC installations. If I read https://github.com/haskell/haskell-language-server correctly and I don't want to compile hls for myself, I have the option of either using ghcup or manually downloading the prebuilt binaries. I have never used ghcup before, and I don't intend to do so in the future (stack user here ;-), but I gave it a try. It took me some tries and modifications to the script to install only hls (no need for additional GHC/Cabal installations) to an XDG-conformant path. Downloading the wrapper + some hls versions manually from https://github.com/haskell/haskell-language-server/releases is definitely doable, but still a bit fiddly. I guess Vim people need to do the same, only the VS Code extension does things more automagically.
>
> In a nutshell: Much better than before, but a far cry from a one-liner for the most common installation/IDE combos. There is probably not much missing: Only a simple script to install the wrapper/all hls versions into an XDG-conformant path (optionally selecting only a subset of the versions, but this shouldn't be the default). Coupling this to ghcup doesn't look like a good idea, this tries to set up too many unneeded things, at least I wasn't able to figure out how to download *only* hls.
>
>> It also fails much less often, automatic setup configuration is improved, and features are growing at a steady pace.
>
> Great! :-) I think I'll give it a real try soon.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20201201/ac04a760/attachment.html>


More information about the Haskell-Cafe mailing list