despite SourcePos being abstract, it can be fully manipulated using newPos.
Thanks for the tip, I thought it wasn't exported.
Gerd M wrote:
I'm trying to use parsec for parsing a custom input stream. As far as I
understood the manual correctly I need to define the primitive parser:
type MyParser a = GenParser (SourcePos,Tok) () a
mytoken :: (Tok -> Maybe a) -> MyParser a
mytoken test
= token showToken posToken testToken
where
showToken (pos,tok) = show tok
posToken (pos,tok) = pos
testToken (pos,tok) = test tok
The problem is, since SourcePos is an abstract datatype, how can I
actually run this parser without explicitly using values of type SourcePos
in the input stream?
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe