Abhinav's Notes
2020-12-26 Edit

Learnings from Solving Advent of Code 2020 in Haskell

After many years of trying unsuccessfully, I finally completed all 25 days of the Advent of Code 2020 in Haskell. Here is a summary of my learnings and solutions.

Learnings

Solutions

Here’s the index of all the solutions I wrote for AoC 2020:

Problem Solution Salient points Libraries/modules used
1 List comprehensions None
2 Validation None
3 Zippers None
4 Validation split
5 Decoding None
6 None None
7 Parsing, graphs mtl, graph-wrapper
8 Parsing, interpreter mtl
9 None None
10 Graphs, memoization None
11 Cellular automata, zippers comonad, Data.Sequence
12 Geometry None
13 Number theory None
14 Parsing, interpreter mtl
15 Number sequence Data.Vector.Unboxed.Mutable
16 Parsing, constraint satisfaction mtl
17 Cellular automata, zippers comonad, Data.List
18 Parsing, interpreter mtl
19 Parsing ReadP
20 Image manipulation Data.Array.BitArray
21 Parsing, constraint satisfaction ReadP
22 Recursion, game None
23 Linked list, game Data.Vector.Primitive.Mutable
24 Parsing, cellular automata ReadP, Map
25 Cryptography None