advent2020
advent2020 copied to clipboard
Advent of Code 2020 Haskell Solutions
Advent of Code 2020
These are my Advent of Code 2020 solutions. I try to focus on making clean and documented Haskell solutions to each puzzle.
We'll be chatting about AoC on IRC all December. You can find AoC discussion on freenode's ##adventofcode
and #haskell
(webchat)
Building
I recommend installing ghc
with ghcup
.
$ curl https://get-ghcup.haskell.org -sSf | sh
I'm using GHC 8.10.2
this year
$ ghcup install 8.10.2
$ ghcup set 8.10.2
cabal-install-3
is the best way to get things built
$ cabal update
$ cabal build
Running solutions
All the solutions take an optional command line argument that can be an input file name or -
to read the input from stdin
.
$ cabal run Day01
...
494475
267520550
Common libraries used
-
containers - Almost all of the solutions will benefit from having access to
Map
andSet
types from this package. - megaparsec - Each problem features a simple text-file format input. Parser combinators make it easy to define the simple parser needed to consume these inputs.
- doctest - Having checked examples in the documentation makes it easier to understand what code does and easy to add unit tests.