curly-core-0.7.2: The core libraries for the Curly compiler.

Safe HaskellNone
LanguageHaskell2010

Curly.Core.VCS

Documentation

data VCKey o Source #

Instances

Functor VCKey Source # 

Methods

map :: (a -> b) -> VCKey a -> VCKey b #

Serializable Bytes o => Serializable Bytes (VCKey o) Source # 
Format Bytes o => Format Bytes (VCKey o) Source # 

Methods

datum :: Parser Bytes (VCKey o) #

Serializable Bytes o => Eq (VCKey o) Source # 

Methods

(==) :: VCKey o -> VCKey o -> Bool #

(/=) :: VCKey o -> VCKey o -> Bool #

Serializable Bytes o => Ord (VCKey o) Source # 

Methods

compare :: VCKey o -> VCKey o -> Ordering #

(<) :: VCKey o -> VCKey o -> Bool #

(<=) :: VCKey o -> VCKey o -> Bool #

(>) :: VCKey o -> VCKey o -> Bool #

(>=) :: VCKey o -> VCKey o -> Bool #

max :: VCKey o -> VCKey o -> VCKey o #

min :: VCKey o -> VCKey o -> VCKey o #

Show o => Show (VCKey o) Source # 

Methods

showsPrec :: Int -> VCKey o -> ShowS #

show :: VCKey o -> String #

showList :: [VCKey o] -> ShowS #

Generic (VCKey o) Source # 

Associated Types

type Rep (VCKey o) :: * -> * #

Methods

from :: VCKey o -> Rep (VCKey o) x #

to :: Rep (VCKey o) x -> VCKey o #

type Rep (VCKey o) Source # 

class MonadIO vc => MonadVC vc s | vc -> s where Source #

Minimal complete definition

vcStore, vcLoad, runVC

Methods

vcStore :: Serializable Bytes a => s -> (Proxy a -> VCKey ()) -> a -> vc () Source #

vcLoad :: Format Bytes a => s -> (Proxy a -> VCKey ()) -> vc (Maybe a) Source #

runVC :: vc a -> IO a Source #

Instances

MonadVC Client_VC Client_Handle Source # 

Methods

vcStore :: Serializable Bytes a => Client_Handle -> (Proxy a -> VCKey ()) -> a -> Client_VC () Source #

vcLoad :: Format Bytes a => Client_Handle -> (Proxy a -> VCKey ()) -> Client_VC (Maybe a) Source #

runVC :: Client_VC a -> IO a Source #

MonadVC File_VC String Source # 

Methods

vcStore :: Serializable Bytes a => String -> (Proxy a -> VCKey ()) -> a -> File_VC () Source #

vcLoad :: Format Bytes a => String -> (Proxy a -> VCKey ()) -> File_VC (Maybe a) Source #

runVC :: File_VC a -> IO a Source #

MonadVC Dummy_VC () Source # 

Methods

vcStore :: Serializable Bytes a => () -> (Proxy a -> VCKey ()) -> a -> Dummy_VC () Source #

vcLoad :: Format Bytes a => () -> (Proxy a -> VCKey ()) -> Dummy_VC (Maybe a) Source #

runVC :: Dummy_VC a -> IO a Source #

MonadVC Proto_VC (String, String) Source # 

Methods

vcStore :: Serializable Bytes a => (String, String) -> (Proxy a -> VCKey ()) -> a -> Proto_VC () Source #

vcLoad :: Format Bytes a => (String, String) -> (Proxy a -> VCKey ()) -> Proto_VC (Maybe a) Source #

runVC :: Proto_VC a -> IO a Source #

(MonadVC vc1 conn1, MonadVC vc2 conn2) => MonadVC (Combined_VC vc1 vc2) (conn1, conn2) Source # 

Methods

vcStore :: Serializable Bytes a => (conn1, conn2) -> (Proxy a -> VCKey ()) -> a -> Combined_VC vc1 vc2 () Source #

vcLoad :: Format Bytes a => (conn1, conn2) -> (Proxy a -> VCKey ()) -> Combined_VC vc1 vc2 (Maybe a) Source #

runVC :: Combined_VC vc1 vc2 a -> IO a Source #

keyName :: (Proxy a -> VCKey ()) -> String Source #

newtype Dummy_VC a Source #

Constructors

Dummy_VC (IO a) 

Instances

Functor Dummy_VC Source # 

Methods

map :: (a -> b) -> Dummy_VC a -> Dummy_VC b #

SemiApplicative Dummy_VC Source # 

Methods

(<*>) :: Dummy_VC (a -> b) -> Dummy_VC a -> Dummy_VC b #

Applicative Dummy_VC Source # 
Monad Dummy_VC Source # 

Methods

join :: Dummy_VC (Dummy_VC a) -> Dummy_VC a #

(>>=) :: Dummy_VC a -> (a -> Dummy_VC b) -> Dummy_VC b #

MonadIO Dummy_VC Source # 

Methods

liftIO :: IO a -> Dummy_VC a #

Unit Dummy_VC Source # 

Methods

pure :: a -> Dummy_VC a #

MonadVC Dummy_VC () Source # 

Methods

vcStore :: Serializable Bytes a => () -> (Proxy a -> VCKey ()) -> a -> Dummy_VC () Source #

vcLoad :: Format Bytes a => () -> (Proxy a -> VCKey ()) -> Dummy_VC (Maybe a) Source #

runVC :: Dummy_VC a -> IO a Source #

newtype File_VC a Source #

Constructors

File_VC (IO a) 

Instances

Functor File_VC Source # 

Methods

map :: (a -> b) -> File_VC a -> File_VC b #

SemiApplicative File_VC Source # 

Methods

(<*>) :: File_VC (a -> b) -> File_VC a -> File_VC b #

Applicative File_VC Source # 
Monad File_VC Source # 

Methods

join :: File_VC (File_VC a) -> File_VC a #

(>>=) :: File_VC a -> (a -> File_VC b) -> File_VC b #

MonadIO File_VC Source # 

Methods

liftIO :: IO a -> File_VC a #

Unit File_VC Source # 

Methods

pure :: a -> File_VC a #

MonadVC File_VC String Source # 

Methods

vcStore :: Serializable Bytes a => String -> (Proxy a -> VCKey ()) -> a -> File_VC () Source #

vcLoad :: Format Bytes a => String -> (Proxy a -> VCKey ()) -> File_VC (Maybe a) Source #

runVC :: File_VC a -> IO a Source #

newtype Proto_VC a Source #

Constructors

Proto_VC (IO a) 

Instances

Functor Proto_VC Source # 

Methods

map :: (a -> b) -> Proto_VC a -> Proto_VC b #

SemiApplicative Proto_VC Source # 

Methods

(<*>) :: Proto_VC (a -> b) -> Proto_VC a -> Proto_VC b #

Applicative Proto_VC Source # 
Monad Proto_VC Source # 

Methods

join :: Proto_VC (Proto_VC a) -> Proto_VC a #

(>>=) :: Proto_VC a -> (a -> Proto_VC b) -> Proto_VC b #

MonadIO Proto_VC Source # 

Methods

liftIO :: IO a -> Proto_VC a #

Unit Proto_VC Source # 

Methods

pure :: a -> Proto_VC a #

MonadVC Proto_VC (String, String) Source # 

Methods

vcStore :: Serializable Bytes a => (String, String) -> (Proxy a -> VCKey ()) -> a -> Proto_VC () Source #

vcLoad :: Format Bytes a => (String, String) -> (Proxy a -> VCKey ()) -> Proto_VC (Maybe a) Source #

runVC :: Proto_VC a -> IO a Source #

newtype Combined_VC vc1 vc2 a Source #

Constructors

Combined_VC ((vc1 :.: vc2) a) 

Instances

MonadVC vc1 _c1 => MonadTrans (Combined_VC vc1) Source # 

Methods

lift :: Monad m => m a -> Combined_VC vc1 m a #

(Functor vc2, Functor vc1) => Functor (Combined_VC vc1 vc2) Source # 

Methods

map :: (a -> b) -> Combined_VC vc1 vc2 a -> Combined_VC vc1 vc2 b #

(SemiApplicative vc2, SemiApplicative vc1) => SemiApplicative (Combined_VC vc1 vc2) Source # 

Methods

(<*>) :: Combined_VC vc1 vc2 (a -> b) -> Combined_VC vc1 vc2 a -> Combined_VC vc1 vc2 b #

(Applicative vc2, Applicative vc1) => Applicative (Combined_VC vc1 vc2) Source # 
(MonadVC vc1 _c1, MonadVC vc2 _c2) => Monad (Combined_VC vc1 vc2) Source # 

Methods

join :: Combined_VC vc1 vc2 (Combined_VC vc1 vc2 a) -> Combined_VC vc1 vc2 a #

(>>=) :: Combined_VC vc1 vc2 a -> (a -> Combined_VC vc1 vc2 b) -> Combined_VC vc1 vc2 b #

(Unit vc2, Unit vc1) => Unit (Combined_VC vc1 vc2) Source # 

Methods

pure :: a -> Combined_VC vc1 vc2 a #

(MonadVC vc1 conn1, MonadVC vc2 conn2) => MonadVC (Combined_VC vc1 vc2) (conn1, conn2) Source # 

Methods

vcStore :: Serializable Bytes a => (conn1, conn2) -> (Proxy a -> VCKey ()) -> a -> Combined_VC vc1 vc2 () Source #

vcLoad :: Format Bytes a => (conn1, conn2) -> (Proxy a -> VCKey ()) -> Combined_VC vc1 vc2 (Maybe a) Source #

runVC :: Combined_VC vc1 vc2 a -> IO a Source #

combined_lift1 :: (Unit vc2, Functor vc1) => vc1 a -> Combined_VC vc1 vc2 a Source #

vcServer :: (?write :: Bytes -> IO (), MonadIO m) => VCSBackend -> ParserT Bytes m () Source #

vcbStore :: (Serializable Bytes a, MonadIO m) => VCSBackend -> (Proxy a -> VCKey ()) -> a -> m () Source #

vcbLoad :: (Format Bytes a, MonadIO m) => VCSBackend -> (Proxy a -> VCKey ()) -> m (Maybe a) Source #

vcbLoadP :: (Format Bytes a, MonadIO m) => VCSBackend -> (Proxy a -> VCKey ()) -> ParserT s m a Source #