Escaping Cabal Hell with Nix & Making MTL Better with Classy Lenses and Prisms


Details
Escaping Cabal Hell with Nix - Steven Shaw
First, we'll introduce Nix (http://nixos.org/nix/), a purely functional package system, and highlight its advantages over widespread systems such as APT (https://wiki.debian.org/Apt).
Next, we'll gain some familiariarity with the Nix commands. Learn how to: search for, install, upgrade and remove packages.
Finally, we'll learn how beat Cabal hell and accelerate your Haskell development with Nix. We'll set up Nix for Haskell development. Configure Nix environments containing all your favourite Haskell development tools. Most importantly, pull in library dependencies without recompiling all of hackage. Discover that there's no need to decide between per-project and shared sandboxes — you get to have your cake and eat it too!
Making Transformers Better with Classy Lenses and Prisms - George Wilson
Many applications leverage monad transformer stacks to control IO effects, handle error conditions, pass configurations, and more. As the requirements of these applications grow, the complexity of these transformer stacks can grow proportionally. If a specific monad transformer stack is used in type signatures, then small changes to the stack can result in large changes to the code. This talk will demonstrate tools from the mtl and the lens library that allow each function's type to describe the required parts of a transformer stack, without depending on the concrete stack itself.

Escaping Cabal Hell with Nix & Making MTL Better with Classy Lenses and Prisms