spars: A sparse set-based parsing library for Haskell.

[ library, mit, text ] [ Propose Tags ]

Spars is a lightweight parsing package that uses sets to store parse results to avoid duplicates.


[Skip to Readme]
Versions [RSS] [faq] 0.1.0.0
Change log CHANGELOG.md
Dependencies base (>=4.14.0.0 && <4.15), containers (>=0.6.2.1 && <0.7) [details]
License MIT
Copyright © Anselm David Schüler 2020
Author anselmschueler
Maintainer git@anselmschueler.com
Category Text
Home page https://github.com/schuelermine/spars
Bug tracker https://github.com/schuelermine/spars/issues
Uploaded by anselmschueler at 2020-08-26T00:53:10Z
Distributions NixOS:0.1.0.0
Downloads 77 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2020-08-26 [all 2 reports]

Modules

  • Spars

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for spars-0.1.0.0

[back to package description]

spars

Spars is a lightweight parsing package that uses sets to store parse results to avoid duplicates.

The name is a contraction of set parse and a pun on the word sparse.


Spars explicitly does not implement instances of Monad, Applicative and other classes. This is because using sets requires that all functions need the result type of the parser to be orderable.

Because there are no typeclass instances, the Parser type is not a newtype construction, but just a type synonym.

Note: This means that you cannot use do-notation with Spars.


Spars has a dependency on containers in order to use maps and sets from that package.


Some of the functions in this package have been written with the help of friendly strangers online.