« Return to Thread: Abstraction leak

Re: Abstraction leak

by Andrew Coppin :: Rate this Message:

Reply to Author | View in Thread

David Roundy wrote:

> On Fri, Jun 29, 2007 at 07:39:28PM +0100, Andrew Coppin wrote:
>  
>> Now I have a problem. It's easy enough to pass the entire data stream
>> through an RLE decoder and feed that to the Huffman table deserialize
>> function, and it will give be back the table. But I now have *no clue*
>> where the table ends in the original stream!
>>    
>
> Sounds to me like you want a parsing monad.  Generally, when you want
> state, you want a monad, and the field of parsing monads is pretty mature.
> You can either write up a monad of your own, or use one of the existing
> ones (parsec, frisby, read).
>  

Perhaps. But how do you run a parser on top of another parser? More
importantly, how do you stack several parsers one on top of the other,
get the top-most one to return the thing it parsed, and then make a
completely different stack of parsers process the remainder?

I'm sure it can be done, but... I'm having trouble wrapping my mind
around that at this time of night... :-S

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@...
http://www.haskell.org/mailman/listinfo/haskell-cafe

 « Return to Thread: Abstraction leak