output: html_document
css: modest.css
---
-Code to solve the [Advent of Code](http://adventofcode.com/2019/) puzzles. This year, I'm using the puzzles to develop my skills in [Haskell](https://wiki.haskell.org/Haskell).
+Code to solve the [Advent of Code](http://adventofcode.com/2019/) puzzles. This year, I'm using the puzzles to develop my skills in [Haskell](https://wiki.haskell.org/Haskell). I'm writing up a [commentary on these puzzles and my solutions](https://work.njae.me.uk/tag/advent-of-code/) on my blog.
[Learn you a Haskell](http://learnyouahaskell.com/chapters), [Introduction to Haskell 98](https://www.haskell.org/tutorial/index.html), and [Hackage](https://hackage.haskell.org/) are good resources.
```
stack ghci advent01
```
+or
+```
+stack ghci advent01:exe:advent01
+```
+if the first form is ambiguous.
To profile, use
```
-stack build --executable-profiling --library-profiling --ghc-options="-fprof-auto -rtsopts"
+stack build --executable-profiling --library-profiling --ghc-options="-fprof-auto -rtsopts" advent01
```
then run with
```
-stack exec -- advent01 +RTS -p -hy
+stack exec --profile -- advent01 +RTS -p -hy
```
Generate the profile graph with
```