yaxu / Haskellish

A library for parsing miniature and esoteric languages that are similar to Haskell

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About Haskellish

Haskellish is a library for parsing small Haskell-like languages. It is used in the Estuary project to parse the language CineCer0, in the TidalCycles project as part of the tidal-parse library, and in the Punctual project (a web-based audiovisual live coding language). It uses the haskell-src-exts library to parse from String into a Haskell abstract syntax tree (a value of type Exp SrcSpanInfo), and then provides parsers from such a tree to particular results. Haskellish parsers are Functor, Applicative, Alternative, Monad, MonadPlus, MonadState, and MonadError instances and thus can be composed together a la combinatorial parsing.

Version History (changelog)

  • 0.3.2.2 - widened bounds on template-haskell and mtl dependencies (will build with LTS 22.8)
  • 0.3.2.1 - widened bounds on template-haskell dependency
  • 0.3.2 - added trueOrFalse for parsing True/False "literals" (constructors, actually)
  • 0.3.1 - added enumFromTo, enumFromThenTo, parseWithModeAndRun
  • 0.3 - added 'removeComments'; parseAndRun takes String instead of Text
  • 0.2.4.3 - widened bounds on template-haskell dependency
  • 0.2.4.2 - widened bounds on haskell-src-exts dependency
  • 0.2.4 - modified error-handling to distinguish fatal and non-fatal cases
  • 0.2.3.1 - widened bounds on template-haskell dependency
  • 0.2.3 - added functionApplication
  • 0.2.2 - added binaryApplication
  • 0.2.1 - added ifThenElse
  • 0.2.0 - stateful parsing (and MonadState and MonadError instances)
  • 0.1.2 - added reverseApplication
  • 0.1.1 - added MonadPlus instance
  • 0.1.0 - initial Hackage release

About

A library for parsing miniature and esoteric languages that are similar to Haskell

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 100.0%