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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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


[Skip to Readme]

Properties

Versions 0.1.0.0, 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-26T01:07:54Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


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.