homepage: https://github.com/parsonsmatt/garlic-bread#readme
changelog-type: markdown
hash: 673437c96e8927265e7306955f90b2e0be248f11db575c5cf45fe4dcb9d0c693
test-bench-deps:
  base: ! '>=4.9 && <5'
  hspec: -any
  garlic-bread: -any
  mtl: -any
  transformers: -any
maintainer: parsonsmatt@gmail.com
synopsis: A monad transformer for keeping track of where you've come from.
changelog: ! '# Changelog for garlic-bread


  ## `0.1.0.0`


  - Initial release!

'
basic-deps:
  base: ! '>=4.9 && <5'
  mtl: -any
  transformers: -any
all-versions:
- '0.1.0.0'
author: Matt Parsons
latest: '0.1.0.0'
description-type: markdown
description: ! '# garlic-bread


  [![Build Status](https://travis-ci.org/parsonsmatt/garlic-bread.svg?branch=master)](https://travis-ci.org/parsonsmatt/garlic-bread)


  A monad transformer for remembering where you''ve been.


  ## Example: XML parsing


  The initial inspiration for this library came in the form of parsing XML.

  Buggy, underspecified, *weird* XML.

  I''d write a parser, and it would work OK on the test data, but then we''d release
  it into production, and suddenly it found parse errors.

  These documents were huge, repetitive, deeply nested, and unweildy.


  I quickly realized that I needed a way to remember where I''ve been.

  Remembering the tales of *Theseus and the Minotaur* and was *Hansel and Gretel*,
  I started writing some combinators to remember the path through the XML document.

  When a parse failed, I bubbled the breadcrumbs up.


  Suddenly, reading the error messages became easy: it told me exactly how to get
  to the data that failed the test!

'
license-name: BSD3

Update from Hackage at 2018-03-17T07:20:09Z
Update from Hackage at 2018-03-17T07:20:09Z
