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]
Versions [faq] 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
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 Tue Apr 16 17:50:45 UTC 2019
Distributions NixOS:0.2.1.0
Downloads 1141 total (96 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-04-16 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for parsix-0.2.1.0

[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.