Go to file
2020-02-19 13:30:18 +01:00
app Initial commit 2020-01-11 21:15:05 +01:00
lib More stuff 2020-02-19 13:30:18 +01:00
test Initial commit 2020-01-11 21:15:05 +01:00
.gitignore Add .gitignore 2020-01-14 22:55:16 +01:00
cabal.project More stuff 2020-02-19 13:30:18 +01:00
cabal.project.freeze Stuff 2020-02-18 22:37:03 +01:00
CHANGELOG.md Initial commit 2020-01-11 21:15:05 +01:00
ghcup.cabal Stuff 2020-02-18 22:37:03 +01:00
LICENSE Initial commit 2020-01-11 21:15:05 +01:00
README.md Basic version of 'downloadURL' 2020-01-16 23:27:38 +01:00
Setup.hs Initial commit 2020-01-11 21:15:05 +01:00
TODO.md Blah 2020-01-24 23:44:12 +01:00
update-index-state.sh Blah 2020-01-24 23:44:12 +01:00

ghcup

A rewrite of ghcup in haskell. This can be used as a library and may be redistributed as a binary in the future.

Motivation

ghcup has increasingly become difficult to maintain. A few reasons:

More 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)

However, the downside will be:

  • 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
  • Easier user interface (possibly interactive and non-interactive ones)