Initial commit
This commit is contained in:
commit
60b9754415
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
GHCup.html
|
||||
GHCup.pdf
|
56
GHCup.md
Normal file
56
GHCup.md
Normal file
@ -0,0 +1,56 @@
|
||||
% GHCup
|
||||
% Julian Ospald
|
||||
% June 07, 2024
|
||||
|
||||
# GHCup
|
||||
|
||||
## Intro
|
||||
|
||||
[Haskell Survey 2022](https://taylor.fausak.me/2022/11/18/haskell-survey-results/#s2q1)
|
||||
|
||||
![](survey.png)
|
||||
|
||||
## What is GHCup?
|
||||
|
||||
```sh
|
||||
curl -s -L 'https://downloads.haskell.org/~ghc/9.6.5/ghc-9.6.5-x86_64-fedora33-linux.tar.xz' |
|
||||
tar -xJ -C /tmp &&
|
||||
cd /tmp/ghc-9.6.5-x86_64-unknown-linux/ &&
|
||||
./configure --prefix="$HOME/.local" &&
|
||||
make install &&
|
||||
rm -rf /tmp/ghc-9.6.5-x86_64-unknown-linux/
|
||||
```
|
||||
|
||||
## How it started
|
||||
|
||||
* 🤹 small team at work on different platforms
|
||||
* 🧑💻 SHELL + POSIX
|
||||
* 🦾 first version was 165 LOC
|
||||
* 🙏 only installer at that time was stack
|
||||
|
||||
## Goals
|
||||
|
||||
- ☮️ unification
|
||||
- unix principles
|
||||
- 🛠️ do one thing and do it well
|
||||
- ⚗️ pipes, compose stdout and stdin
|
||||
- 🎁 good re-distribution
|
||||
- 🛣️ user experience (get out of the way)
|
||||
|
||||
## To install or not install
|
||||
|
||||
* [https://hasufell.github.io/posts/2023-11-14-ghcup-is-not-an-installer.html](https://hasufell.github.io/posts/2023-11-14-ghcup-is-not-an-installer.html)
|
||||
|
||||
### Concerns
|
||||
|
||||
* ![](open-box.png){#id .class width=32 height=32px} installer
|
||||
* ![](linux.png){#id .class width=32 height=32px} distribution channel
|
||||
* ![](feedback.png){#id .class width=32 height=32px} feedback channel
|
||||
* ![](qa.png){#id .class width=32 height=32px} testing/QA
|
||||
* ![](user.png){#id .class width=32 height=32px} deciding on defaults (e.g. "recommended" GHC version)
|
||||
* ![](chain-saw.png){#id .class width=32 height=32px} holistic toolchain experience
|
||||
- stack integration
|
||||
- VSCode integration
|
||||
- cabal-install integration
|
||||
* ![](ghaction.png){#id .class width=32 height=32px} CI (e.g. github actions)
|
||||
|
31
NOTES.md
Normal file
31
NOTES.md
Normal file
@ -0,0 +1,31 @@
|
||||
- vision, usability
|
||||
|
||||
- main GHCup types
|
||||
- metadata versions
|
||||
- metadata variants
|
||||
- ghcup-metadata CI (bindist install)
|
||||
- distro selection (libc compatibilty etc.)
|
||||
- stack
|
||||
- how we manage metadata
|
||||
- Dockerfiles
|
||||
- stack integration
|
||||
- Version file, Types file
|
||||
- file layout
|
||||
- reproducibility
|
||||
- security
|
||||
- HLS/GHC interaction
|
||||
- for the future
|
||||
|
||||
- cool things to contribute to
|
||||
- deciding on defaults (metadata etc.)
|
||||
- API for e.g. stack
|
||||
- Dhall
|
||||
- manpage
|
||||
- TUI
|
||||
- schema
|
||||
- integration test
|
||||
- revision
|
||||
- documentation
|
||||
- cross
|
||||
- nightlies
|
||||
|
7
README.md
Normal file
7
README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# GHCup talk
|
||||
|
||||
Build via:
|
||||
|
||||
```sh
|
||||
pandoc -t slidy -s GHCup.md -o GHCup.html
|
||||
```
|
BIN
chain-saw.png
Normal file
BIN
chain-saw.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
BIN
feedback.png
Normal file
BIN
feedback.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
BIN
ghaction.png
Normal file
BIN
ghaction.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
BIN
open-box.png
Normal file
BIN
open-box.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
BIN
survey.png
Normal file
BIN
survey.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
Loading…
Reference in New Issue
Block a user