Parsing Typeclasses for cats and scala (this could potentially graduate into a cats-parsing project). This is at a very early stage and has yet to publish any artifacts.
The main goals are:
- define ParserA an Alternative with Delay with some additional text parsing functions very similar to Haskell's Text.Parser.Parsing typeclass.
- define ParserM a Monad with ParserA for monadic parsing.
- write some reusable laws for these typeclasses
- write instances of these typeclasses for commonly used scala parsing libraries
- give an internal implementations as examples.
- provide some example parsers using only the typeclass which are suitable for running with any instance (e.g. Json example).