Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felixschl/purescript-neodoc-parsing
Parsing library for purescript, originally written as efficient parser implementation for http://github.com/felixSchl/neodoc
https://github.com/felixschl/purescript-neodoc-parsing
parsing purescript
Last synced: 9 days ago
JSON representation
Parsing library for purescript, originally written as efficient parser implementation for http://github.com/felixSchl/neodoc
- Host: GitHub
- URL: https://github.com/felixschl/purescript-neodoc-parsing
- Owner: felixSchl
- Created: 2017-02-16T15:29:46.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-02-16T16:12:44.000Z (over 7 years ago)
- Last Synced: 2024-10-11T23:54:30.655Z (about 1 month ago)
- Topics: parsing, purescript
- Language: PureScript
- Size: 5.86 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# purescript-neodoc-parsing
> Parsing library written for neodoc, extracted from the sources.
Here's the central parser type:
```
global, "mutable" state (yikes)
\ input type
\ /
:: Parser e c s g i a -- output type
/ | \
custom error | "mutable" state
read only config
```## Features
* Perfomance - as little internal currying as required, specialized functions
and not a monad transformer (re-implements `Reader` and `State` like
capabilities)
* Custom error type `e`
* Custom read only "configuration" type `c`
* Custom "mutable" state `s`
* Out-of-the-norm "global" state `g` that does not obey `<|>`. Not very
composable and probably evil. Neodoc does not use this (anymore), so this may
be removed.
* Custom input type `i`## TODO
* Add examples
* Add tests... this may never happen as this project is indirectly verified by
neodoc's large test suite, but contributions are certainly welcome.
* Remove `g`## Contributions
Contributions and feedback are welcome, but I expect this library to fly low
on the radar and I won't be actively developing it, but if pull requests or
issues fly in I am sure to take a look and respond!