elan vs GHCup
elan
github.comGHCup
haskell.orgSide by side
| Figure | elan | GHCup |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Runtime Version Managers | 7.7 (#9) | 8.6 (#1) |
| Spec score · Development Environment Managers | 7.7 (#24) | 8.5 (#7) |
| Purpose | elan manages installations of the Lean theorem prover. | GHCup is the main installer for the general purpose language Haskell. |
Plans
In their own words
elan
elan manages installations of the Lean theorem prover on Linux, macOS and Windows. Its `lean` and `lake` binaries use a project’s `lean-toolchain` file to select the specified Lean version and download it when needed. The separate `elan` command provides manual control to install, select, run or uninstall Lean versions. The project supports version pinning, lockfiles, automatic switching, shell integration and CI/CD use. Installation options include shell instructions for Linux and macOS, a PowerShell method for Windows, and release downloads for supported platforms. The README recommends the Nixpkgs version on NixOS because toolchains downloaded by elan require patching there. Lake needs git to download dependencies. The project describes itself as a fork of rustup adapted for Lean infrastructure. elan is free at free, and the repository lists Apache-2.0 and MIT licenses. The releases page identifies v4.2.4 as the latest release.
GHCup
GHCup is a free, open-source installer and version manager for the Haskell toolchain. It installs and manages GHC, cabal-install, Haskell Language Server (HLS), and Stack versions; Stack can also be configured to use GHC versions managed by GHCup. Listed functionality includes a terminal user interface and GHC cross-compilation. Installation guidance covers terminal commands for Linux, macOS, FreeBSD, and WSL2, alongside PowerShell instructions for Windows. The project describes Windows support as being in an early stage and uses a shim wrapper because Windows does not properly support symbolic links. On macOS, GHCup may prompt for command line tools; Windows setup includes msys2. The installer should be run as a non-root user on Unix-like systems and a non-admin user on Windows. GHCup relies on precompiled binaries, so compatibility can depend on the distribution and libraries such as libtinfo. WSL1 and macOS versions earlier than 10.13 are unsupported. Some ARM binaries are experimental: Stack and HLS on Linux ARM, and HLS bindists on macOS aarch64. Configuration can be stored in ~/.ghcup/config.yaml, with command-line options taking precedence.