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].