Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
newtype InterfaceM (m :: * -> *) f Source #
class IsDocType f where Source #
flatDoc :: Doc f -> MethodDocs Source #
class IsClientType (m :: * -> *) f Source #
type ClientType m f Source #
Instances
IsClientType m (Returns r) Source # | |
Defined in Network.MessagePack.Client.Internal type ClientType m (Returns r) Source # | |
IsClientType m r => IsClientType m (o -> r) Source # | |
Defined in Network.MessagePack.Interface type ClientType m (o -> r) Source # | |
IsClientType m (ReturnsM io r) Source # | |
Defined in Network.MessagePack.Client.Internal type ClientType m (ReturnsM io r) Source # |
class IsReturnType (m :: * -> *) f where Source #
type HaskellType f Source #
type ServerType m f Source #
implement :: InterfaceM m f -> HaskellType f -> ServerType m f Source #
Instances
Monad m => IsReturnType m (Returns r) Source # | |
Defined in Network.MessagePack.Server.Basic type HaskellType (Returns r) Source # type ServerType m (Returns r) Source # implement :: InterfaceM m (Returns r) -> HaskellType (Returns r) -> ServerType m (Returns r) Source # | |
IsReturnType m r => IsReturnType m (o -> r) Source # | |
Defined in Network.MessagePack.Interface type HaskellType (o -> r) Source # type ServerType m (o -> r) Source # implement :: InterfaceM m (o -> r) -> HaskellType (o -> r) -> ServerType m (o -> r) Source # | |
MonadIO m => IsReturnType m (ReturnsM IO r) Source # | |
Defined in Network.MessagePack.Server.Basic type HaskellType (ReturnsM IO r) Source # type ServerType m (ReturnsM IO r) Source # implement :: InterfaceM m (ReturnsM IO r) -> HaskellType (ReturnsM IO r) -> ServerType m (ReturnsM IO r) Source # |
Instances
Monad m => IsReturnType m (Returns r) Source # | |
Defined in Network.MessagePack.Server.Basic type HaskellType (Returns r) Source # type ServerType m (Returns r) Source # implement :: InterfaceM m (Returns r) -> HaskellType (Returns r) -> ServerType m (Returns r) Source # | |
IsClientType m (Returns r) Source # | |
Defined in Network.MessagePack.Client.Internal type ClientType m (Returns r) Source # | |
Eq (Doc (Returns r)) Source # | |
Read (Doc (Returns r)) Source # | |
Show (Doc (Returns r)) Source # | |
Typeable r => IsDocType (Returns r) Source # | |
type ServerType m (Returns r) Source # | |
Defined in Network.MessagePack.Server.Basic | |
type ClientType m (Returns r) Source # | |
Defined in Network.MessagePack.Client.Internal | |
type HaskellType (Returns r) Source # | |
Defined in Network.MessagePack.Server.Basic | |
data Doc (Returns r) Source # | |
Defined in Network.MessagePack.Interface |
data ReturnsM (m :: * -> *) r Source #
Instances
MonadIO m => IsReturnType m (ReturnsM IO r) Source # | |
Defined in Network.MessagePack.Server.Basic type HaskellType (ReturnsM IO r) Source # type ServerType m (ReturnsM IO r) Source # implement :: InterfaceM m (ReturnsM IO r) -> HaskellType (ReturnsM IO r) -> ServerType m (ReturnsM IO r) Source # | |
IsClientType m (ReturnsM io r) Source # | |
Defined in Network.MessagePack.Client.Internal type ClientType m (ReturnsM io r) Source # | |
Eq (Doc (ReturnsM m r)) Source # | |
Read (Doc (ReturnsM m r)) Source # | |
Show (Doc (ReturnsM m r)) Source # | |
Typeable r => IsDocType (ReturnsM m r) Source # | |
type ServerType m (ReturnsM IO r) Source # | |
Defined in Network.MessagePack.Server.Basic | |
type ClientType m (ReturnsM io r) Source # | |
Defined in Network.MessagePack.Client.Internal | |
type HaskellType (ReturnsM IO r) Source # | |
Defined in Network.MessagePack.Server.Basic | |
data Doc (ReturnsM m r) Source # | |
Defined in Network.MessagePack.Interface |
call :: RpcType (ClientType m f) => InterfaceM m f -> ClientType m f Source #
concrete :: Interface f -> InterfaceM m f Source #
method :: (MonadThrow m, MethodType m (ServerType m f), IsDocType f, IsReturnType m f) => Interface f -> HaskellType f -> Method m Source #