crjdt-haskell-0.3.0: A Conflict-Free Replicated JSON Datatype for Haskell

Safe HaskellNone
LanguageHaskell2010

Data.Crjdt.Internal.Core

Documentation

data Val Source #

Instances

Eq Val Source # 

Methods

(==) :: Val -> Val -> Bool #

(/=) :: Val -> Val -> Bool #

Show Val Source # 

Methods

showsPrec :: Int -> Val -> ShowS #

show :: Val -> String #

showList :: [Val] -> ShowS #

IsString Val Source # 

Methods

fromString :: String -> Val #

data Cmd a Source #

Constructors

Let !Text !Expr (Expr -> a) 
Assign !Expr !Val a 
InsertAfter !Expr !Val a 
Delete !Expr a 
Values !Expr ([Val] -> a) 
Keys !Expr (Set (Key Void) -> a) 
Yield a 

Instances

Functor Cmd Source # 

Methods

fmap :: (a -> b) -> Cmd a -> Cmd b #

(<$) :: a -> Cmd b -> Cmd a #

MonadFree Cmd Command Source # 

Methods

wrap :: Cmd (Command a) -> Command a #

newtype Command a Source #

Constructors

Command 

Fields

Instances

Monad Command Source # 

Methods

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

(>>) :: Command a -> Command b -> Command b #

return :: a -> Command a #

fail :: String -> Command a #

Functor Command Source # 

Methods

fmap :: (a -> b) -> Command a -> Command b #

(<$) :: a -> Command b -> Command a #

Applicative Command Source # 

Methods

pure :: a -> Command a #

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

(*>) :: Command a -> Command b -> Command b #

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

MonadFree Cmd Command Source # 

Methods

wrap :: Cmd (Command a) -> Command a #

data Expr Source #

Constructors

Doc 
Var !Var 
Iter !Expr 
Next !Expr 
GetKey !Expr !(Key Void) 

Instances

Eq Expr Source # 

Methods

(==) :: Expr -> Expr -> Bool #

(/=) :: Expr -> Expr -> Bool #

Show Expr Source # 

Methods

showsPrec :: Int -> Expr -> ShowS #

show :: Expr -> String #

showList :: [Expr] -> ShowS #

IsString Expr Source # 

Methods

fromString :: String -> Expr #