id	summary	reporter	owner	description	type	status	priority	resolution	keywords	cc	topic	difficulty	mentor
1119	Generalising Parsec to ParsecT with arbitrary input streams	PhilippaCowderoy		"Parsec is Haskell's premier parsing library, Currently, Parsec only takes input in the form of a list of tokens - this can make it difficult to integrate it with a fast IO system such as one based on !ByteString. Additionally, Parsec is only available as a monad rather than a monad transformer - users can't do IO or perform other computations to generate results.

To remedy this:

 * Generalise Parsec to work on some typeclass for streams
 * Further generalise it to ParsecT (with support for streams that're computations in the underlying monad as well) 
 * If time is available: 
   * do specialisation work on [] and !ByteString 
   * perhaps explore using custom tokens and streams for binary parsing (perhaps a seek primitive?).

== Interested Mentors ==
 * Philippa Cowderoy <[mailto:flippa@flippac.org]>

== Interested Students =="	proposed-project	closed		fixed			misc	1 person Summer	not-accepted
