Safe Haskell | Safe-Inferred |
---|
Some seperate types to solve problems with recursive modules
- data ExprTypeKind
- data ValueTypeKind
- = NumberType
- | BoolType
- | ObjectType
- | ArrayType
- | StringType
- | NoneType
- | OtherValueType
Documentation
data ExprTypeKind Source
The type of a RQL expression
The type hierarchy has 3 branches:
- A read-only sequence:
StreamType False
- A selection (also called a view):
StreamType True
- A value (a JSON object, array or primitive type):
ExprType
StreamType Bool ValueTypeKind | When the flag is true, it can be updated or deleted |
ValueType ValueTypeKind |
data ValueTypeKind Source
The types of values
FromJSON a => ExtractValue ValueTypeKind OtherValueType a | |
ExtractValue ValueTypeKind NoneType () | |
(IsString a, FromJSON a) => ExtractValue ValueTypeKind StringType a | |
FromJSON a => ExtractValue ValueTypeKind ArrayType a | |
FromJSON a => ExtractValue ValueTypeKind ObjectType a | |
ExtractValue ValueTypeKind BoolType Bool | |
(Num a, FromJSON a) => ExtractValue ValueTypeKind NumberType a |