Skip to content

Commit 464b8eb

Browse files
committed
Improve footnotes for extension stability post
1 parent 6ccd02b commit 464b8eb

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

.github/workflows/deploy.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ jobs:
1919
sudo apt-get update && sudo apt-get install -y wget git
2020
- run: |
2121
wget -q -O - \
22-
"https://github.com/getzola/zola/releases/download/v0.19.1/zola-v0.19.1-x86_64-unknown-linux-gnu.tar.gz" \
22+
"https://github.com/getzola/zola/releases/download/v0.21.0/zola-v0.21.0-x86_64-unknown-linux-gnu.tar.gz" \
2323
| sudo tar xzf - -C /usr/local/bin
2424
2525
- run: npm install
2626
- run: npm run abridge
2727
- name: 'Build only'
28-
uses: shalzz/zola-deploy-action@v0.19.1
28+
uses: shalzz/zola-deploy-action@v0.21.0
2929
env:
3030
BUILD_DIR: .
3131
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -46,12 +46,12 @@ jobs:
4646
sudo apt-get update && sudo apt-get install -y wget git
4747
- run: |
4848
wget -q -O - \
49-
"https://github.com/getzola/zola/releases/download/v0.19.1/zola-v0.19.1-x86_64-unknown-linux-gnu.tar.gz" \
49+
"https://github.com/getzola/zola/releases/download/v0.21.0/zola-v0.21.0-x86_64-unknown-linux-gnu.tar.gz" \
5050
| sudo tar xzf - -C /usr/local/bin
5151
- run: npm install
5252
- run: npm run abridge
5353
- name: 'Build and deploy'
54-
uses: shalzz/zola-deploy-action@v0.19.1
54+
uses: shalzz/zola-deploy-action@v0.21.0
5555
env:
5656
PAGES_BRANCH: gh-pages
5757
BUILD_DIR: .

content/investigating-lang-ext-semantics/index.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ why they happened, and what they tell us about long-term stability.
2424
If you care about a smoother upgrade path for Haskell users,
2525
we invite you to participate in the [Haskell Foundation Stability Working Group](https://blog.haskell.org/stability-working-group/).
2626

27-
[^upstream]: Upstreaming is the process of sending a patch to the “maintainers” of an open-source project. The maintainers will then make the patch ‘official’ by merging it. In principle, the process is simple, but in practice, the burden of proof (especially for larger projects) is on the person who submitted the patch. They have to convince the maintainers that the patch is useful, which takes time in the form of communication
2827

2928
Extending our initial [investigation](https://jappie.me/analyzing-haskell-stability.html),
3029
We're also interested in understanding *why* breakage occurs.
@@ -35,8 +34,6 @@ but seems to be from language extension semantics[^meaning].
3534
We're doing this investigation to understand better where efforts
3635
should be focused in improving stability.
3736

38-
[^meaning]: The precise meaning of features enabled by language extensions. I guess parser changes also count.
39-
4037
This gave us the following table:
4138

4239
| Name | Cause | Had warnings? |
@@ -61,6 +58,7 @@ because it was one of *the* motivating changes for a [stability working group](h
6158
## Simplified subsumption
6259
For the blissfully ignorant reader simplified subsumption causes you
6360
to do this under certain existential conditions:
61+
6462
```diff
6563
--- a/Distribution/Simple/Utils.hs
6664
+++ b/Distribution/Simple/Utils.hs
@@ -70,8 +68,8 @@ to do this under certain existential conditions:
7068
handleDoesNotExist () . removeFile $ name)
7169
- (withLexicalCallStack (uncurry action))
7270
+ (withLexicalCallStack (\x -> uncurry action x))
73-
7471
```
72+
7573
You have to insert a lambda, which apparently has some performance impact.
7674
This had a big impact on [Yesod stacks](https://www.yesodweb.com/book),
7775
whose code generation helpfully created
@@ -210,3 +208,7 @@ and good reasons for being introduced.
210208
If you find this all as interesting as I do,
211209
please consider joining some of the stability
212210
working group meetings!
211+
212+
[^upstream]: Upstreaming is the process of sending a patch to the “maintainers” of an open-source project. The maintainers will then make the patch ‘official’ by merging it. In principle, the process is simple, but in practice, the burden of proof (especially for larger projects) is on the person who submitted the patch. They have to convince the maintainers that the patch is useful, which takes time in the form of communication
213+
214+
[^meaning]: The precise meaning of features enabled by language extensions. I guess parser changes also count.

0 commit comments

Comments
 (0)