
By default Stack will automatically download its own version of GHC to an isolated location upon first invocation. You can use stack setup command to initialize Stack and create global configuration file ~/.stack/config.yaml. if a package has a non-trivial Setup.hs).
#Haskell ar update
Tip: It is advisable to periodically run cabal update to synchronize your local list of packages and dependencies with the newest version on Hackage. If you prefer static linking, see #Static linking or #Alternate installations for details. For these reasons, static linking is often the preferred option for local development outside of the package system. On the other hand, static linking is generally easier to maintain and does not force you to rebuild all tools from source after every update of their dependencies. To fix this, just rebuild and reinstall the broken tool in order to relink it to newer libraries. When running such broken binary, you will see the usual message error while loading shared libraries: libHS.so: cannot open shared object file: No such file or directory.
#Haskell ar install
But it has its own disadvantage: all tools you install from source will break on every update of ghc, ghc-libs or haskell-* packages since libraries compiled with GHC do not provide a stable ABI. Using dynamic linking typically results in faster builds and smaller disk and RAM usage (by sharing pages between multiple running Haskell programs), and will free you from troubleshooting cross-GHC mixing errors. Therefore, to link successfully one must configure GHC, Cabal and Stack for dynamic linking, as the default is to use static linking. Since version 8.0.2-1, the Arch ghc package and all haskell-* packages in community provide only dynamically linked libraries. If you are not sure which tool to choose, try to install both and see which one works best for you. Many Haskell developers use Cabal, while many others prefer Stack. Tip: Both Cabal and Stack are stable and mature build tools. Stack is another build tool focused on curated snapshots and source packages from Stackage (a stable subset of Hackage that provides curated sets (snapshots) of packages known to work well with each other).
#Haskell ar archive
Cabal is the classic build tool focused on dependency resolution and source packages from Hackage (Haskell community's central package archive of open source software). cabal-install or stack - Build tools that rely on GHC to compile Haskell sources.There are several implementations available, but the one used most (which is now de facto the reference) is the GHC (Glasgow Haskell Compiler). To install the latest version of Haskell, install the following packages from the official repositories:


#Haskell ar software
On the other side, building AUR packages or developing software require a compiler and build tools to be installed. There is nothing special required to run a binary (already compiled) software, like xmonad or pandoc provided in the official repositories. Haskell generates machine code that can be run natively on Linux.


Otherwise, if you want to install Haskell binaries from the official website without using any packages from Arch repositories, skip to the section #Alternate installations.Note that this might install several hundred haskell-* packages into your system. If you want to install Haskell from Arch official repositories using pacman, continue reading #Native installation, #Configuration and #Package management.Note: There are several choices for Haskell installation, one is supported by Arch Linux, while others are officially supported by Haskell for any Linux distributions.
