crjdt-haskell-0.2.0.0: A Conflict-Free Replicated JSON Datatype for Haskell
Data.Crjdt.Eval
newtype Eval a Source #
Constructors
Fields
Instances
Methods
(>>=) :: Eval a -> (a -> Eval b) -> Eval b #
(>>) :: Eval a -> Eval b -> Eval b #
return :: a -> Eval a #
fail :: String -> Eval a #
fmap :: (a -> b) -> Eval a -> Eval b #
(<$) :: a -> Eval b -> Eval a #
mfix :: (a -> Eval a) -> Eval a #
pure :: a -> Eval a #
(<*>) :: Eval (a -> b) -> Eval a -> Eval b #
(*>) :: Eval a -> Eval b -> Eval b #
(<*) :: Eval a -> Eval b -> Eval a #
get :: Eval Context
put :: Context -> Eval ()
state :: (Context -> (a, Context)) -> Eval a
throwError :: EvalError -> Eval a
catchError :: Eval a -> (EvalError -> Eval a) -> Eval a
data EvalError Source #
(==) :: EvalError -> EvalError -> Bool #
(/=) :: EvalError -> EvalError -> Bool #
showsPrec :: Int -> EvalError -> ShowS #
show :: EvalError -> String #
showList :: [EvalError] -> ShowS #
toException :: EvalError -> SomeException #
fromException :: SomeException -> Maybe EvalError #
displayException :: EvalError -> String #
addReceivedOps :: MonadState Context m => Seq Operation -> m () Source #
run :: ReplicaId -> Eval a -> (Either EvalError a, Context) Source #
evalEval :: ReplicaId -> Expr -> Either EvalError Cursor Source #
execEval :: ReplicaId -> Eval a -> Context Source #
addVariable :: Ctx m => Var -> Cursor -> m () Source #
execute :: Ctx m => Command a -> m a Source #
eval :: Ctx m => Expr -> m Result Source #