AArch64 | |
ppc64le | |
s390x | |
x86-64 |
- Update megaparsec to version 7.0.4. Upstream has edited the change log file since the last release in a non-trivial way, i.e. they did more than just add a new entry at the top. You can review the file at: http://hackage.haskell.org/package/megaparsec-7.0.4/src/CHANGELOG.md
- Update megaparsec to version 7.0.3. [#]# Megaparsec 7.0.3 * Fixed the build with `mtl` older than `2.2.2`.
- Update megaparsec to version 7.0.2. [#]# Megaparsec 7.0.2 * Fixed the property test for `char'` which was failing in the case when there is a character with different upper and title cases. * More descriptive error messages when `elabel` or `ulabel` from `Text.Megaparsec.Error.Builder` are used with empty strings. * Typos fixes in the docs.
- Update megaparsec to version 7.0.1. [#]# Megaparsec 7.0.1 * Fixed a bug in `errorBundlePretty`. Previously the question sign `?` was erroneously inserted before offending line in 2nd and later parse errors. [#]# Megaparsec 7.0.0 [#]## General * Dropped the `Text.Megaparsec.Perm` module. Use `Control.Applicative.Permutations` from `parser-combinators` instead. * Dropped the `Text.Megaparsec.Expr` module. Use `Control.Monad.Combinators.Expr` from `parser-combinators` instead. * The debugging function `dbg` has been moved from `Text.Megaparsec` to its own module `Text.Megaparsec.Debug`. * Dropped support for GHC 7.8. [#]## Combinators * Moved some general combinators from `Text.Megaparsec.Char` and `Text.Megaparsec.Byte` to `Text.Megaparsec`, renaming some of them for clarity. Practical consequences: * Now there is the `single` combinator that is a generalization of `char` for arbitrary streams. `Text.Megaparsec.Char` and `Text.Megaparsec.Byte` still contain `char` as type-constrained versions of `single`. * Similarly, now there is the `chunk` combinator that is a generalization of `string` for arbitrary streams. The `string` combinator is still re-exported from `Text.Megaparsec.Char` and `Text.Megaparsec.Byte` for compatibility. * `satisfy` does not depend on type of token, and so it now lives in `Text.Megaparsec`. * `anyChar` was renamed to `anySingle` and moved to `Text.Megaparsec`. * `notChar` was renamed to `anySingleBut` and moved to `Text.Megaparsec`. * `oneOf` and `noneOf` were moved to `Text.Megaparsec`. * Simplified the type of the `token` primitive. It now takes just a matching function `Token s -> Maybe a` as the first argument and the collection of expected items `Set (ErrorItem (Token s))` as the second argument. This makes sense because the collection of expected items cannot depend on what we see in the input stream. * The `label` primitive now doesn't prepend the phrase ?the rest of? to the label when its inner parser produces hints after consuming input. In that case `label` has no effect. * Fixed the `Text.Megaparsec.Char.Lexer.charLiteral` so it can accept longer escape sequences (max length is now 10). * Added the `binDigitChar` functions in `Text.Megaparsec.Byte` and `Text.Megaparsec.Char`. * Added the `binary` functions in `Text.Megaparsec.Byte.Lexer` and `Text.Megaparsec.Char.Lexer`. * Improved case-insensitive character matching in the cases when e.g. `isLower` and `isUpper` both return `False`. Functions affected: `Text.Megaparsec.Char.char'`. * Renamed `getPosition` to `getSourcePos`. * Renamed `getTokensProcessed` to `getOffset`, `setTokensProcessed` to `setOffset`. * Dropped `getTabWidth` and `setTabWidth` because tab width is irrelevant to parsing process now, it's only relevant for pretty-printing of parse errors, which is handled separately. * Added and `withParsecT` in `Text.Megaparsec.Internal` to allow changing the type of the custom data component in parse errors. [#]## Parser state and input stream * Dropped stacks of source positions. Accordingly, the functions `pushPosition` and `popPosition` from `Text.Megaparsec` and `sourcePosStackPretty` from `Text.Megaparsec.Error` were removed. The reason for this simplification is that I could not find any code that uses the feature and it makes manipulation of source positions hairy. * Introduced `PosState` for calculating `SourcePos` from offsets and getting offending line for displaying on pretty-printing of parse errors. It's now contained in both `State` and `ParseErrorBundle`. * Dropped `positionAt1`, `positionAtN`, `advance1`, and `advanceN` methods from `Stream`. They are no longer necessary because `reachOffset` (and its specialized version `reachOffsetNoLine`) takes care of `SourcePos` calculation. [#]## Parse errors * `ParseError` now contains raw offset in input stream instead of `SourcePos`. `errorPos` was dropped from `Text.Megaparsec.Error`. * `ParseError` is now parametrized over stream type `s` instead of token type `t`. * Introduced `ParseErrorBundle` which contains one or more `ParseError` equipped with all information that is necessary to pretty-print them together with offending lines from the input stream. Functions like `runParser` now return `ParseErrorBundle` instead of plain `ParseError`. By default there will be only one `ParseError` in such a bundle, but it's possible to add more parse errors to a bundle manually. During pretty-printing, the input stream will be traversed only once. * The primary function for pretty-printing of parse errors?`errorBundlePretty` always prints offending lines now. `parseErrorPretty` is still there, but it probably won't see a lot of use from now on. `parseErrorPretty'` and `parseErrorPretty_` were removed. `parseTest'` was removed because `parseTest` always prints offending lines now. * Added `attachSourcePos` function in `Text.Megaparsec.Error`. * The `ShowToken` type class has been removed and its method `showTokens` now lives in the `Stream` type class. * The `LineToken` type class is no longer necessary because the new method `reachOffset` of the type class `Stream` does its job. * In `Text.Megaparsec.Error` the following functions were added: `mapParseError`, `errorOffset`. * Implemented continuous highlighting in parse errors. For this we added the `errorComponentLen` method to the `ShowErrorComponent` type class. [#]## Parse error builder * The functions `err` and `errFancy` now accept offsets at which the parse errors are expected to have happened, i.e. `Int`s. Thus `posI` and `posN` are no longer necessary and were removed. * `ET` is now parametrized over the type of stream `s` instead of token type `t`. * Combinators like `utoks` and `etoks` now accept chunks of input stream directly, i.e. `Tokens s` instead of `[Token s]` which should be more natural and convenient.
- Update Cabal build information to support GHC 8.6.x.
- Add megaparsec at version 6.5.0.
- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf.
- Update to version 5.3.1.
- Update to version 5.2.0 revision 1.
- Update to version 5.2.0 with cabal2obs.
- Update to version 5.0.1 revision 0 with cabal2obs.
- Update to version 4.4.0 revision 0 with cabal2obs.