X-Git-Url: https://git.njae.me.uk/?p=advent-of-code-19.git;a=blobdiff_plain;f=README.html;h=16c04e174f38c644c32c3887b81db80a996b2aea;hp=218a7f9f03ee743992014478c6bf33997296d399;hb=9ae9e4b2751996170400ddea8503a3b0313e724c;hpb=73861022e114fe3b2d6625301f4ac5fc973a8a6e diff --git a/README.html b/README.html index 218a7f9..16c04e1 100644 --- a/README.html +++ b/README.html @@ -4,13 +4,13 @@ - Advent of Code 2018 + Advent of Code 2019

Code to solve the Advent of Code puzzles. This year, I'm using the puzzles to develop my skills in Haskell.

Learn you a Haskell, Introduction to Haskell 98, and Hackage are good resources.

@@ -20,15 +20,15 @@
$ sudo aptitude install haskell-platform haskell-stack

), then updgrade with

 stack upgrade --binary-only
-

as the version in the Ubuntu repos is too old to work with current Haskell Stack package sets. ##

+

as the version in the Ubuntu repos is too old to work with current Haskell Stack package sets.

Creating the repository and project

Create the repository as normal: create the project in Gitolite, clone it, and insert the .gitignore and README.md files.

-

There's just one package, with the code in sub-directories of the src directory. Each day will generate one (or more) entries in the adventofcode17.cabal file.

+

There's one package per day, with the code for each package in sub-directories of the root directory.

Create the basic stack project. This will create a new directory. Note that this new directory name can't have a hyphen-delimited word that's just digits, so the project will have to be advent-of-code

stack new advent-of-code --bare simple

Modify the stack.yaml file as needed, such as adding the ghc-options stanza.

Creating subsequent days

-

Each day lives in a separate directory within the src directory. It will also need it's own stanza in advent-of-code.cabal.

+

Each day lives in a separate directory, with its own package.yaml file and code in the src directory. (I based this configuration from mstksg's setup.)

Compile with

stack build

or

@@ -38,7 +38,7 @@

If you want to pass in additional RTS parameters, do it like this:

stack exec -- advent01 +RTS -K0 -RTS

Run interactively with

-
stack ghci advent-of-code:exe:advent01
+
stack ghci advent01

To profile, use

stack build --executable-profiling --library-profiling --ghc-options="-fprof-auto -rtsopts"

then run with

@@ -52,10 +52,6 @@

to see how the stack.yaml file needs to change, and

stack solver --update-yaml

to implement the changes.

-

IHaskell

-

Install following the IHaskell instructions.

-

Run it with

-
stack exec jupyter -- notebook

Readme

Build this readme file wth

pandoc -s README.md > README.html