| app | ||
| lib | ||
| test | ||
| .gitignore | ||
| cabal.project | ||
| cabal.project.freeze | ||
| CHANGELOG.md | ||
| ghcup.cabal | ||
| LICENSE | ||
| README.md | ||
| Setup.hs | ||
| update-index-state.sh | ||
ghcup
A rewrite of ghcup in haskell.
TODO
- create static ghcup binaries
- adjust url in GHCupDownloads
 
 - add print-system-reqs command
 
Motivation
Maintenance problems:
- platform incompatibilities regularly causing breaking bugs:
 - refactoring being difficult due to POSIX sh
 
Benefits of a rewrite:
- Features such as installing release candidates or HEAD builds can be more conveniently implemented in a rewrite
 - Refactoring will be easier
 - Better tool support (such as linting the downloads file)
 - saner downloads file format (such as JSON)
 
Downsides:
- building static binaries for all platforms (and possibly causing SSL/DNS problems)
 - still bootstrapping those binaries via a POSIX sh script
 
Goals
- Correct low-level code
 - Good exception handling
 - Cleaner user interface