Re: [Haskell] Parsec question: attempted 'notMatching' combinator

2004-02-18 Thread Christian Maeder
Hi, In a local copy of Parsec.Prim I've added a primitive, that may be of help for your problem as well. consumeNothing :: GenParser tok st () consumeNothing = Parser (\state -> Consumed (Ok () state (unknownError state))) With this I've implemented: checkWith :: (Show a) => GenParser tok st

Re: [Haskell] Parsec question: attempted 'notMatching' combinator

2004-02-18 Thread Andrew Pimlott
On Wed, Feb 18, 2004 at 02:45:15PM +0100, Daan Leijen wrote: > On Wed, 18 Feb 2004 01:11:31 -0500, Andrew Pimlott <[EMAIL PROTECTED]> > wrote: > >After some pondering and fiddling, a version I like: > > > >notFollowedBy' :: Show a => GenParser tok st a -> GenParser tok st () > >notFollowed

Re: [Haskell] Parsec question: attempted 'notMatching' combinator

2004-02-18 Thread Andrew Pimlott
On Wed, Feb 18, 2004 at 02:45:15PM +0100, Daan Leijen wrote: > On Wed, 18 Feb 2004 01:11:31 -0500, Andrew Pimlott <[EMAIL PROTECTED]> > wrote: > >After some pondering and fiddling, a version I like: > > > >notFollowedBy' :: Show a => GenParser tok st a -> GenParser tok st () > >notFollowed

Re: [Haskell] Parsec question: attempted 'notMatching' combinator

2004-02-18 Thread Daan Leijen
On Wed, 18 Feb 2004 01:11:31 -0500, Andrew Pimlott <[EMAIL PROTECTED]> wrote: After some pondering and fiddling, a version I like: notFollowedBy' :: Show a => GenParser tok st a -> GenParser tok st () notFollowedBy' p= join $ do a <- try p; return (unexpected (show a))

Re: [Haskell] Impredicative Types?

2004-02-18 Thread Daan Leijen
On Tue, 17 Feb 2004 14:40:18 -0800, Ashley Yakeley <[EMAIL PROTECTED]> wrote: Ben Rudiak-Gould <[EMAIL PROTECTED]> wrote: > Bear in mind you can't even write IO (forall t. whatever) in Haskell. True, but why is this? Is there a deep reason why we can use nested foralls as the arguments to (->),