Merge branch 'master' of git.njae.me.uk:advent-of-code-16
[advent-of-code-16.git] / README.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <meta http-equiv="Content-Style-Type" content="text/css" />
6 <meta name="generator" content="pandoc" />
7 <title>Advent of Code 2016</title>
8 <style type="text/css">code{white-space: pre;}</style>
9 <link rel="stylesheet" href="modest.css" type="text/css" />
10 </head>
11 <body>
12 <div id="header">
13 <h1 class="title">Advent of Code 2016</h1>
14 </div>
15 <p>Code to solve the <a href="http://adventofcode.com/2016/">Advent of Code</a> puzzles. This year, I'm trying to use the puzzles as a prompt to learn <a href="https://wiki.haskell.org/Haskell">Haskell</a>.</p>
16 <p><a href="http://learnyouahaskell.com/chapters">Learn you a Haskell</a>, <a href="https://www.haskell.org/tutorial/index.html">Introduction to Haskell 98</a>, and <a href="https://hackage.haskell.org/">Hackage</a> are good resources.</p>
17 <p>I'm using the basic Haskell Platform installation (install with</p>
18 <pre><code>$ sudo aptitude install haskell-platform</code></pre>
19 <p>).</p>
20 <p>I'm also using some extra libraries. Before installing, run <code>cabal update</code> then set <code>library-profiling: True</code> in <code>~/.cabal/config</code> . Then install the packages with</p>
21 <pre><code>$ cabal install MissingH
22 $ cabal install parsec-numbers
23 $ cabal install cryptonite
24 $ cabal install pqueue</code></pre>
25 <p>Compile the code with</p>
26 <pre><code>ghc --make advent01.hs</code></pre>
27 <p>then run it as</p>
28 <pre><code>advent01</code></pre>
29 <p>If you're profiling, compile and run with</p>
30 <pre><code>ghc -O2 --make advent01.hs -prof -auto-all -caf-all -fforce-recomp -rstopts
31 time ./advent01 +RTS -p -hy</code></pre>
32 <p>and create the profile picture with <code>h2ps advent01.hp</code> .</p>
33 <p>Build this readme file wth</p>
34 <pre><code>pandoc -s README.md &gt; README.html</code></pre>
35 <p>(Using the <a href="https://github.com/markdowncss/modest">Modest style</a>.)</p>
36 </body>
37 </html>