On 11-03-26 12:27 AM, Steven Shaw wrote:
Hi Mario,

I wondered if you had an application in mind for your incremental parser library in Haskell? A little while ago I was following the development of an open source text editor for Mac OS X called Kod[.app]. They were wanting an incremental parser to help with correct+fast syntax highlighting and the like. Looks like they decided on gazelle written in C.  I though you might find it of interest.

  https://groups.google.com/forum/#!msg/gazelle-users/RfE-lSmqb7c/vrqdPaOIoMwJ
  http://www.reverberate.org/gazelle/

Is that the kind of thing you had in mind for your incremental parser library in Haskell?

    The application I had in mind for the incremental parser is already using it, it's the new version of the streaming component combinators framework. More generally, though, its main purpose is the efficient communication between coroutine-like things like enumerators and iteratees. They tend to produce and consume data in chunks, but the producer's idea of proper chunk boundaries often doesn't match the consumer's. So instead of fetching raw chunks, the consumer uses incremental parser to abstract the producer's boundaries away.

    I did not have text editors or parsing "big" languages in mind when I wrote the library, but I suppose it could be used there as well. Among my vague plans were to provide a bridge for the enumerator and coroutine libraries, and to write a proper incremental XML parser.

    Thanks for the links, I wasn't aware of these projects.