Safe Haskell | None |
---|---|
Language | Haskell98 |
Building RQL queries in Haskell
- data ReQL = ReQL {}
- op :: Arr a => TermType -> a -> ReQL
- op' :: Arr a => TermType -> a -> [Attribute Static] -> ReQL
- data Term
- data TermAttribute = TermAttribute Text Term
- buildQuery :: ReQL -> Int64 -> Database -> [(Text, Datum)] -> (WireQuery, Term)
- type Backtrace = [Frame]
- convertBacktrace :: WireBacktrace -> Backtrace
- data Frame
- class Expr e where
- data QuerySettings = QuerySettings {}
- newVarId :: State QuerySettings Int
- str :: String -> ReQL
- num :: Double -> ReQL
- data Attribute a where
- data Static
- data Dynamic
- type OptArg = Attribute Static
- class OptArgs a where
- cons :: Expr e => e -> ArgList -> ArgList
- baseArray :: ArgList -> State QuerySettings [Term]
- withQuerySettings :: (QuerySettings -> ReQL) -> ReQL
- reqlToDatum :: ReQL -> Datum
- data Bound a
- closedOrOpen :: Bound a -> Maybe Text
- datumTerm :: ToDatum a => a -> ReQL
- empty :: ReQL
- newtype WireQuery = WireQuery {}
- newtype WireBacktrace = WireBacktrace {}
- note :: String -> ReQL -> ReQL
- (?:=) :: Expr e => Text -> Maybe e -> Attribute a
- class Arr a where
- arr :: a -> ArgList
- minval :: Bound a
- maxval :: Bound a
Documentation
A ReQL Term
Floating ReQL Source | |
Fractional ReQL Source | |
Num ReQL Source | |
Show ReQL Source | |
IsString ReQL Source | |
Expr ReQL Source | |
OptArgs ReQL Source | |
((~) * a ReQL, (~) * b ReQL, (~) * c ReQL, (~) * d ReQL, (~) * e ReQL) => Expr (a -> b -> c -> d -> e -> ReQL) Source | |
((~) * a ReQL, (~) * b ReQL, (~) * c ReQL, (~) * d ReQL) => Expr (a -> b -> c -> d -> ReQL) Source | |
((~) * a ReQL, (~) * b ReQL, (~) * c ReQL) => Expr (a -> b -> c -> ReQL) Source | |
((~) * a ReQL, (~) * b ReQL) => Expr (a -> b -> ReQL) Source | |
(~) * a ReQL => Expr (a -> ReQL) Source |
Internal representation of a ReQL Term
Term | |
| |
Datum | |
Note | |
Convert other types into ReQL expressions
Nothing
A shortcut for inserting strings into ReQL expressions Useful when OverloadedStrings makes the type ambiguous
A key/value pair used for building objects
An operation that accepts optional arguments
baseArray :: ArgList -> State QuerySettings [Term] Source
withQuerySettings :: (QuerySettings -> ReQL) -> ReQL Source
reqlToDatum :: ReQL -> Datum Source
An upper or lower bound for between and during
closedOrOpen :: Bound a -> Maybe Text Source
newtype WireBacktrace Source
note :: String -> ReQL -> ReQL Source
Add a note a a ReQL Term
This note does not get sent to the server. It is used to annotate backtraces and help debugging.
Build arrays of exprs