diff --git a/docs/BUGS.md b/docs/BUGS.md deleted file mode 100644 index 3d0ea76..0000000 --- a/docs/BUGS.md +++ /dev/null @@ -1 +0,0 @@ -# Known BUGS diff --git a/docs/TODO.md b/docs/TODO.md deleted file mode 100644 index ca6af69..0000000 --- a/docs/TODO.md +++ /dev/null @@ -1,39 +0,0 @@ -# TODOs and Remarks - -## Now - -* ghcup init? -* merge two download files -* fetch/unpack functionality -* installing multiple versions of the same -* post-install - -* proper test suite - -* !! update of 0.1.5 must go in ghcup-0.0.1.json !! - -* try to run exe before upgrade (backup to ~/.ghcup/bin/ghcup.old) -* stdout flushing? -* resume support (for make-install only) - -## Maybe - -* version ranges in json -* sign the JSON? (Or check gpg keys?) -* testing (especially distro detection -> unit tests) - -## Later - -* add support for RC/alpha/HEAD versions - -## Cleanups - -* avoid alternative for IO -* use plucky or oops instead of Excepts - -## Questions - -* move out GHCup.Version module, bc it's not library-ish? -* mirror support -* interactive handling when distro doesn't exist and we know the tarball is incompatible? -* ghcup-with wrapper to execute a command with a given ghc in PATH? diff --git a/docs/about.md b/docs/about.md index e458f15..3998755 100644 --- a/docs/about.md +++ b/docs/about.md @@ -187,7 +187,7 @@ cabal-install/HLS/stack are installed in `~/.ghcup/bin/-` and have un ### Custom ghc version names When installing ghc bindists with custom version names as outlined in -[installing custom bindists](#installing-custom-bindists), then cabal might +[installing custom bindists](guide.md#installing-custom-bindists), then cabal might be unable to find the correct `ghc-pkg` (also see [#73](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/73)) if you use `cabal build --with-compiler=ghc-foo`. Instead, point it to the full path, such as: `cabal build --with-compiler=$HOME/.ghcup/ghc//bin/ghc` or set that GHC version diff --git a/docs/guide.md b/docs/guide.md index 894c8c1..dd5c69a 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -200,7 +200,7 @@ url-source: - https://mirror.sjtu.edu.cn/ghcup/yaml/ghcup/data/ghcup-0.0.6.yaml ``` -Note that later versions of GHCup allow more sophisticated mirror support, see [here](./#mirrors-proper). +Note that later versions of GHCup allow more sophisticated mirror support, see [here](#mirrors-proper). #### Known mirrors diff --git a/docs/install.md b/docs/install.md index 9d65d6c..f0ee69e 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,7 +1,7 @@ # Installation GHCup makes it easy to install specific versions of GHC on GNU/Linux, -macOS (aka Darwin), FreeBSD and Windows and can also bootstrap a fresh [Haskell developer environment](./#supported-tools) from scratch. +macOS (aka Darwin), FreeBSD and Windows and can also bootstrap a fresh [Haskell developer environment](#supported-tools) from scratch. It follows the UNIX philosophy of [do one thing and do it well](https://en.wikipedia.org/wiki/Unix_philosophy#Do_One_Thing_and_Do_It_Well). Similar in scope to [rustup](https://github.com/rust-lang-nursery/rustup.rs), [pyenv](https://github.com/pyenv/pyenv) and [jenv](http://www.jenv.be). ## How to install @@ -32,7 +32,7 @@ GHCup has two main channels for every tool: **recommended** and **latest**. By d *latest* follows the latest release of every tool, while *recommended* is at the discretion of the GHCup maintainers and based on community adoption (hackage libraries, tools like HLS, stackage support, etc.) and known bugs. -Also see [tags and shortcuts](../guide/#tags-and-shortcuts) for more information. +Also see [tags and shortcuts](guide.md#tags-and-shortcuts) for more information. ## System requirements @@ -121,9 +121,9 @@ On Windows, msys2 should already have been set up during the installation, so mo ## Next steps -1. Follow the [First steps guide](../steps) on how to build a "Hello world" program, use `ghc`, run an interactive REPL and create a Haskell project +1. Follow the [First steps guide](steps.md) on how to build a "Hello world" program, use `ghc`, run an interactive REPL and create a Haskell project 2. To understand the difference and overlap of `stack` and `cabal`, read on [here](https://gist.github.com/merijn/8152d561fb8b011f9313c48d876ceb07) -3. To learn Haskell proper check out the links at [How to learn Haskell proper](../steps#how-to-learn-haskell-proper) +3. To learn Haskell proper check out the links at [How to learn Haskell proper](steps.md#how-to-learn-haskell-proper) 4. To learn more about Haskell Toolchain management, check out the [ghcup user guide](./guide.md) ## Uninstallation @@ -382,7 +382,7 @@ All set. You can run `cabal init` now in an empty directory to start a project. ### Void Linux Since void linux can be installed with glibc and musl, it's hard to support correctly with ghcup. -One way to make ghcup work on **Void Linux musl** is to follow the [Overriding distro detection](../guide/#overriding-distro-detection) +One way to make ghcup work on **Void Linux musl** is to follow the [Overriding distro detection](guide.md#overriding-distro-detection) section and tell it to consider Alpine bindists only. E.g.: ```sh diff --git a/docs/steps.md b/docs/steps.md index f8c81db..17d3881 100644 --- a/docs/steps.md +++ b/docs/steps.md @@ -13,7 +13,7 @@ installed a Haskell toolchain: The Glorious Glasgow Haskell Compilation System, version 8.10.7 ``` -If this fails, consult [the Getting started page](../install) for information on +If this fails, consult [the Getting started page](install.md) for information on how to install Haskell on your computer. This guide is partly based on [Gil Mizrahi's blog](https://gilmi.me/blog/post/2021/08/14/hs-core-tools). @@ -44,7 +44,7 @@ follow the [GHC user guide](https://downloads.haskell.org/ghc/latest/docs/html/u Now we run our program: ```sh -➜ ./hello +➜ ./hello Hello, Haskell! ``` @@ -99,7 +99,7 @@ To enter the environment run the program `ghci`. ```sh ➜ ghci GHCi, version 9.0.2: https://www.haskell.org/ghc/ :? for help -ghci> +ghci> ``` It provides an interactive prompt where Haskell expressions can be written and @@ -199,7 +199,7 @@ And the modules of the relevant packages will be available for import: ```sh GHCi, version 9.0.1: https://www.haskell.org/ghc/ :? for help -ghci> import Control.Concurrent.Async +ghci> import Control.Concurrent.Async ghci> import Say ghci> concurrently_ (sayString "Hello") (sayString "World") Hello