packages feed

incremental-parser 0.4 → 0.4.0.1

raw patch · 2 files changed

+11/−4 lines, 2 filesdep ~rank2classesPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: rank2classes

API changes (from Hackage documentation)

Files

README.md view
@@ -1,5 +1,5 @@ The incremental-parser library is yet another parser combinator library, providing the usual set of `Applicative`,-`Alternative`, and `Monad` combinators. Apart from this, it has three twists that make it unique.+`Alternative`, and `Monad` combinators. Apart from this, it has four twists that make it unique.  #### Parsing incrementally @@ -48,10 +48,17 @@  #### Two `Alternative` alternatives -Finally, the library being implemented on the basis of Brzozowski derivatives, it can provide both the symmetric and the+The library being implemented on the basis of Brzozowski derivatives, it can provide both the symmetric and the left-biased choice, `<||>` and `<<|>`. This is the same design choice made by [`Text.ParserCombinators.ReadP`](http://hackage.haskell.org/package/base/docs/Text-ParserCombinators-ReadP.html#g:2) and [uu-parsinglib](http://hackage.haskell.org/package/uu-parsinglib). Parsec and its progeny on the other hand provide only the faster left-biased choice, at some cost to the expressiveness of the combinator language. The standard `<|>` operator from the `Alternative` class acts as one or the other of the above, depending on whether the first type parameter of `Parser` is `Symmetric` or `LeftBiasedLocal`.++#### `MonadFix` and `record`++Finally, the parser is an instance of the `MonadFix` class. Beware of its power. In particular, never ever try to+`mfix` a strict function. This will hang. The argument of `mfix` takes the value constructed by the argument parser at+the very same input position it's looking at. The best and probably the only safe and useful argument to `mfix` is the+`record` function. See the [construct](https://hackage.haskell.org/package/construct) library for examples.
incremental-parser.cabal view
@@ -1,5 +1,5 @@ Name:                incremental-parser-Version:             0.4+Version:             0.4.0.1 Cabal-Version:       >= 1.10 Build-Type:          Simple Synopsis:            Generic parser library capable of providing partial results from partial input.@@ -30,7 +30,7 @@                      Text.ParserCombinators.Incremental.LeftBiasedLocal, Text.ParserCombinators.Incremental.Symmetric,                      Control.Applicative.Monoid   Build-Depends:     base >= 4.9 && < 5, transformers >= 0.5 && < 0.6, parsers < 0.13,-                     monoid-subclasses < 1.1, rank2classes >= 1.0 && < 1.4+                     monoid-subclasses < 1.1, rank2classes >= 1.0 && < 1.5   ghc-options:       -Wall   if impl(ghc >= 7.0.0)      default-language: Haskell2010