parsix: Parser combinators with slicing, error recovery, and syntax highlighting

[ bsd3, library, parsing ] [ Propose Tags ]

A parser combinator library based on parsers (like trifecta) with slicing, error recovery, and syntax highlighted diagnostics


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.2.1
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), containers (>=0.5.7), fingertree (>=0.1.3), mtl (>=2.2.1), parsers (>=0.12.7), prettyprinter (>=1.1.1), prettyprinter-ansi-terminal (>=1.1.1), text (>=1.2.2), transformers (>=0.5.2) [details]
License BSD-3-Clause
Copyright 2017-2019 Olle Fredriksson
Author Olle Fredriksson
Maintainer fredriksson.olle@gmail.com
Category Parsing
Home page https://github.com/ollef/parsix
Source repo head: git clone https://github.com/ollef/parsix
Uploaded by OlleFredriksson at 2019-04-01T18:29:14Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3583 total (24 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2019-04-01 [all 1 reports]

Readme for parsix-0.1.0.4

[back to package description]

parsix Build Status Hackage

Adventures in parser combinators.

This is basically a Trifecta clone, i.e. an implementation of the parsers interface, with the following differences:

  • Add error recovery (see withRecovery) based on Megaparsec's.
  • Use the text library instead of bytestring for input strings. This means that the library interfaces better with the rest of the Haskell library ecosystem and that slicing (see sliced) returns Text.
  • Use the prettyprinter library for pretty-printing.
  • Actually implement the highlighting interface from parsers. This means that error messages that show input code are syntax highlighted.