Hi,

I'm using mtl and pipes-parse.

I have the following:
 

> type ServerState m r = Parser ByteString (ErrorT ServerPipelineException 
> m) r


When I try and put it in a pipe though, like so:

processHandshake :: Monad m => Pipe InboundPacketHandshake 
> OutboundPacketHandshake (ServerState m) () 


I get this error: 

    Type synonym ‘ServerState’ should have 2 arguments, but has been given 1
>     In the type signature for ‘processHandshake’:
>       processHandshake :: Monad m =>
>                           Pipe InboundPacketHandshake 
> OutboundPacketHandshake (ServerState m) ()


But, if I bring the () inside the ServerState, I get:

    The third argument of ‘Pipe’ should have kind ‘* -> *’,
>       but ‘ServerState m ()’ has kind ‘*’
>     In the type signature for ‘processHandshake’:
>       processHandshake :: Monad m =>
>                           Pipe InboundPacketHandshake 
> OutboundPacketHandshake (ServerState m ())


I'm confused. How do I layer arbitrary numbers of transformers inside 
pipes? 
 

-- 
You received this message because you are subscribed to the Google Groups 
"Haskell Pipes" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].

Reply via email to