Skip to content

Latest commit

 

History

History
44 lines (30 loc) · 1.27 KB

README.md

File metadata and controls

44 lines (30 loc) · 1.27 KB

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 and Set 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.