Code to accompany my article series "24 days of Hackage, 2015".
- Day 1: Introduction and Stack
- Day 2: Regexes with pcre-heavy; standalone Haskell scripts using Stack
- Day 3: HSpec; the importance of testing
- Day 4: wreq: Web client programming; with notes on lens and operator syntax
- Day 5: should-not-typecheck: making Haskell sort of dynamically typed with deferred type errors
- Day 6: finding utilities with Hoogle and Hayoo: MissingH, extra
- Day 7: semigroups; NonEmpty list and a case study of types and tests
- Day 8: multiset; I wish this were in the standard containers package
- Day 9: Template Haskell goodies: here, interpolate, file-embed
- Day 10: s-cargot: using S-expression syntax
- Day 11: monad-loops: avoiding writing recursive functions by refactoring
- Day 12: json-autotype: inferring types from data
- Day 13: hint: runtime eval for Haskell
- Day 14: Earley: a promising newer parser library for Haskell
- Day 15: IOSpec: testing IO; and some QuickCheck tricks
- Day 16: safe; what is safety anyway?
- Day 17: ansi-wl-pprint: avoiding string hacking
- Day 18: vector, vector-algorithms: unleash your inner C programmer!
- Day 19: ghc-core-html, list-fusion-probe; checking GHC's fusion rewrite rules for erasing intermediate data from existence
- Day 20: dimensional: type-checked computation on physical quantities with units
- Day 21: hood, GHood, Hoed: observation oriented debugging in Haskell
- Day 22: Shake: the dynamic build system
- Day 23: Liquid Haskell: refinement types for the real world
- Day 24: conclusion and thanks
(Table of contents automatically generated using the day 22 Shake code)
(The Haskell user group in Brazil's translation of the series into Portuguese is included at their blog.
I use pcre-heavy
which requires the C library pcre
. On Mac OS X, install with
$ brew install pcre
and make sure you have PKG_CONFIG_PATH
set up in your shell startup file:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig