Skip to content
forked from dktr0/Haskellish

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

License

Notifications You must be signed in to change notification settings

helvm/Haskellish

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

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 - 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

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • Haskell 100.0%