Skip to content

Commit a63b230

Browse files
authored
Update screenshot to animated GIF (#139)
1 parent d903b35 commit a63b230

File tree

4 files changed

+162
-1
lines changed

4 files changed

+162
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Features:
2424
- Supports [evaluating code snippets and showing the result](#evaluating-code).
2525
- Written in [Haskell].
2626

27-
![screenshot](extra/screenshot.png?raw=true)
27+
![screenshot](extra/demo.gif?raw=true)
2828

2929
[Kate]: https://kate-editor.org/
3030
[Haskell]: http://haskell.org/

extra/demo.gif

119 KB
Loading

extra/demo.md

+141
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
title: 'Logic Programming in Haskell'
3+
author: 'Jasper Van der Jeugt'
4+
patat:
5+
incrementalLists: true
6+
wrap: true
7+
margins:
8+
left: 1
9+
right: 1
10+
eval:
11+
ghci:
12+
command: 'tr -d "\n" | ghci | tail -n2 | head -n1'
13+
...
14+
15+
# Filler
16+
17+
## Filler
18+
19+
## Filler
20+
21+
## Filler
22+
23+
## Filler
24+
25+
# List Comprehensions
26+
27+
## Introduction
28+
29+
If we want to keep things simple, **list comprehensions** can be a powerful
30+
tool.
31+
32+
~~~~~{.haskell}
33+
evens = [x | x <- [1..10], x `mod` 2 == 0]
34+
~~~~~
35+
36+
Statements in list comprehensions are usually either:
37+
38+
- _Pattern matches_ using `<-`
39+
- Expressions of type `Bool`
40+
41+
. . .
42+
43+
You can also `let` to introduce new bindings, but this is less common.
44+
45+
## Laziness
46+
47+
Due to Haskell's _laziness_, we don't traverse the whole search space.
48+
Searching for _triangular numbers_:
49+
50+
~~~~~{.haskell .ghci}
51+
take 3 $
52+
[ (a, b, c)
53+
| c <- [1 .. 100000]
54+
, b <- [1 .. c], a <- [1 .. b]
55+
, a * a + b * b == c * c
56+
]
57+
~~~~~
58+
59+
## Laziness
60+
61+
Yo!
62+
63+
# Filler
64+
65+
## Filler
66+
67+
Filler
68+
69+
## Filler
70+
71+
Filler
72+
73+
## Filler
74+
75+
Filler
76+
77+
## Filler
78+
79+
## Filler
80+
81+
## Filler
82+
83+
## Filler
84+
85+
## Filler
86+
87+
## Filler
88+
89+
## Filler
90+
91+
## Filler
92+
93+
## Filler
94+
95+
## Filler
96+
97+
## Filler
98+
99+
## Filler
100+
101+
## Filler
102+
103+
## Filler
104+
105+
## Filler
106+
107+
## Filler
108+
109+
## Filler
110+
111+
## Filler
112+
113+
## Filler
114+
115+
## Filler
116+
117+
## Filler
118+
119+
## Filler
120+
121+
## Filler
122+
123+
## Filler
124+
125+
## Filler
126+
127+
## Filler
128+
129+
## Filler
130+
131+
## Filler
132+
133+
## Filler
134+
135+
## Filler
136+
137+
## Filler
138+
139+
## Filler
140+
141+
## Filler

extra/demo.sh

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env bash
2+
set -o nounset -o errexit -o pipefail
3+
4+
mkdir -p cropped
5+
rm -f cropped/*
6+
for i in inputs/*; do
7+
convert \
8+
-alpha remove \
9+
-crop '1280x1000+122+138' "$i" "cropped/$(basename "$i")"
10+
done
11+
12+
rm -f patat.gif
13+
convert \
14+
-repage '0x0' \
15+
-layers coalesce \
16+
-layers optimize-plus \
17+
+repage \
18+
-delay 150x100 \
19+
-loop 0 \
20+
cropped/*.png patat.gif

0 commit comments

Comments
 (0)