<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">The only thing that was holding me back from dumping Archlinux packages was xmonad. <div><br></div><div>It turns out it can easily be installed with:</div><div>    cabal  install —lib xmonad xmonad-contrib<br><br>Thanks,</div><div><br><div dir="ltr">Alexis Praga </div><div dir="ltr"><br><blockquote type="cite">Le 28 sept. 2021 à 10:12, Branimir Maksimovic <branimir.maksimovic@gmail.com> a écrit :<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="Content-Type" content="text/html; charset=utf-8">Arch Linux has broken ghc installation as package maintener has some weird ideas…<div class="">You have to install it via soirces and avoid Arch packagases like plague.</div><div class=""><br class=""></div><div class="">Greetings, Branimir.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 28.09.2021., at 10:00, Alexis Praga <<a href="mailto:alexis.praga@gmail.com" class="">alexis.praga@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class="">Hi,<div class=""><br class=""></div><div class=""><br class=""></div><div class="">Small feedback in case it’s useful:<br class=""><div class=""><br class=""></div><div class="">Switching from stack to cabal was painless with ghcup. I could not make it work without it (some dependencies failed to compile on Archlinux). </div><div class=""><br class=""><div dir="ltr" class="">Alexis Praga </div><div dir="ltr" class=""><br class=""><blockquote type="cite" class="">Le 18 sept. 2021 à 21:07, <a href="mailto:coot@coot.me" class="">coot@coot.me</a> a écrit :<br class=""><br class=""></blockquote></div><blockquote type="cite" class=""><div dir="ltr" class=""><div class="">Hi Alexis,<br class=""><br class="">There are several reasons:<br class=""><br class="">* reproducible nix style local builds.  By specifying hackage index one can build against the same set of packages locally and on CI.<br class="">* has access to whole hackage, though at times requires a bit of thought, most of the time it works just fine.<br class="">* `cabal.project` and `cabal.project.local`: the first corresponds to `stack.yaml`, the other does not have a counter part in stack.  For example, this is very useful, when one wants to modify ghc options per package, e.g. adding or removing `-Werror` ghc option, or configuring a ghc plugin<br class="">* some options work better than in stack. One example is `--allow-newer`.<br class="">* one can experiment with backpack,<br class=""><br class="">Cheers<br class="">Marcin<br class=""><br class=""></div><div class="protonmail_signature_block"><div class="protonmail_signature_block-user protonmail_signature_block-empty"></div><div class="protonmail_signature_block-proton">Sent with <a href="https://protonmail.com/" target="_blank" class="">ProtonMail</a> Secure Email.</div></div><div class=""><br class=""></div><div class="protonmail_quote">
        ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br class="">
        On Saturday, September 18th, 2021 at 20:52, Alexis Praga <<a href="mailto:alexis.praga@gmail.com" class="">alexis.praga@gmail.com</a>> wrote:<br class="">
        <blockquote class="protonmail_quote" type="cite">
            <div dir="ltr" class="">Hi,<br class="">
<br class="">
As an intermediate beginner, I've been back into Haskell for the last<br class="">
months for a small project, using stack as the building tool.<br class="">
<br class="">
Why stack ? A few years back, I learned that it was the "best" way to build<br class="">
projects to avoid "cabal hell", which I understood at the time as<br class="">
"managing dependencies with cabal is hard".<br class="">
<br class="">
As such, I've use stack since and have been quite happy with it. The<br class="">
only drawback is that building a project can be quite long.<br class="">
<br class="">
This is usually not a problem, except for writing Haskell scripts using<br class="">
shelly (for example), where the stack layout is a bit impractical for<br class="">
fast-paced development. A solution is to use `runghc` or a script<br class="">
interpreter [1].<br class="">
<br class="">
However, I've seen some projects where cabal is used to build directly<br class="">
instead of cabal, so it looks like the situation improved.<br class="">
<br class="">
My question is this: in 2021, is there a reason to switch back to cabal ?<br class="">
<br class="">
Thanks,<br class="">
<br class="">
[1] <a target="_blank" rel="noreferrer nofollow noopener" href="https://www.fpcomplete.com/haskell/tutorial/stack-script/" class="">https://www.fpcomplete.com/haskell/tutorial/stack-script/</a><font color="#888888" class=""><br class=""></font><br clear="all" class=""><br class="">-- <br class=""><div data-smartmail="gmail_signature" dir="ltr" class=""><div dir="ltr" class=""><div class=""><br class="">   Alexis Praga  <br class=""></div></div></div></div>

        </blockquote><br class="">
    </div></div></blockquote></div></div></div>_______________________________________________<br class="">Haskell-Cafe mailing list<br class="">To (un)subscribe, modify options or view archives go to:<br class=""><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="">Only members subscribed via the mailman list are allowed to post.</div></blockquote></div><br class=""></div></div></blockquote></div></body></html>