Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Ginger.Value
Synopsis
- data SomePRNG = SplitGen g => SomePRNG {
- unPRNG :: g
- data Env (m :: Type -> Type) = Env {
- envVars :: !(Map Identifier (Value m))
- envRootMay :: Maybe (Env m)
- envRoot :: forall (m :: Type -> Type). Env m -> Env m
- emptyEnv :: forall (m :: Type -> Type). Env m
- type TemplateLoader (m :: Type -> Type) = Text -> m (Maybe Text)
- type Encoder (m :: Type -> Type) = Text -> m Encoded
- data Context (m :: Type -> Type) = Context {
- contextEncode :: Encoder m
- contextLoadTemplateFile :: TemplateLoader m
- contextVars :: !(Map Identifier (Value m))
- contextOutput :: !OutputPolicy
- data OutputPolicy
- emptyContext :: forall (m :: Type -> Type). Applicative m => Context m
- data Scalar
- scalarToText :: Scalar -> Text
- newtype RefID = RefID {}
- data Value (m :: Type -> Type)
- pattern NoneV :: Value m
- pattern BoolV :: Bool -> Value m
- pattern TrueV :: Value m
- pattern FalseV :: Value m
- pattern StringV :: Text -> Value m
- pattern EncodedV :: Encoded -> Value m
- pattern BytesV :: ByteString -> Value m
- pattern IntV :: Integer -> Value m
- pattern FloatV :: Double -> Value m
- tagNameOf :: forall (m :: Type -> Type). Value m -> Text
- traverseValue :: forall a (m :: Type -> Type). Monoid a => (Value m -> a) -> Value m -> a
- newtype ObjectID = ObjectID {
- unObjectID :: Text
- data TypeDoc
- = TypeDocNone
- | TypeDocAny
- | TypeDocSingle !Text
- | TypeDocAlternatives !(Vector Text)
- data ArgumentDoc = ArgumentDoc {
- argumentDocName :: !Text
- argumentDocType :: !(Maybe TypeDoc)
- argumentDocDefault :: !(Maybe Text)
- argumentDocDescription :: !Text
- data ProcedureDoc = ProcedureDoc {
- procedureDocName :: !Text
- procedureDocArgs :: !(Vector ArgumentDoc)
- procedureDocReturnType :: !(Maybe TypeDoc)
- procedureDocDescription :: !Text
- data Procedure (m :: Type -> Type)
- = NativeProcedure !ObjectID !(Maybe ProcedureDoc) !([(Maybe Identifier, Value m)] -> Context m -> SomePRNG -> m (Either RuntimeError (Value m)))
- | GingerProcedure !(Env m) ![(Identifier, Maybe (Value m))] !Expr
- | NamespaceProcedure
- namespaceProcedureDoc :: ProcedureDoc
- pureNativeProcedure :: forall (m :: Type -> Type). Applicative m => ObjectID -> Maybe ProcedureDoc -> ([(Maybe Identifier, Value m)] -> Either RuntimeError (Value m)) -> Procedure m
- nativeFunc :: Monad m => ObjectID -> Maybe ProcedureDoc -> (Value m -> m (Either RuntimeError (Value m))) -> Procedure m
- pureNativeFunc :: forall (m :: Type -> Type). Applicative m => ObjectID -> Maybe ProcedureDoc -> (Value m -> Either RuntimeError (Value m)) -> Procedure m
- pureNativeFunc2 :: forall (m :: Type -> Type). Applicative m => ObjectID -> Maybe ProcedureDoc -> (Value m -> Value m -> Either RuntimeError (Value m)) -> Procedure m
- type MetaFunc (m :: Type -> Type) a = Expr -> [(Maybe Identifier, Value m)] -> Context m -> Env m -> SomePRNG -> m (Either RuntimeError a)
- type TestFunc (m :: Type -> Type) = MetaFunc m Bool
- type FilterFunc (m :: Type -> Type) = MetaFunc m (Value m)
- data Test (m :: Type -> Type) = NativeTest {
- testDoc :: !(Maybe ProcedureDoc)
- runTest :: !(TestFunc m)
- data Filter (m :: Type -> Type) = NativeFilter {
- filterDoc :: !(Maybe ProcedureDoc)
- runFilter :: !(FilterFunc m)
- data NativeObject (m :: Type -> Type) = NativeObject {
- nativeObjectID :: ObjectID
- nativeObjectGetFieldNames :: m [Scalar]
- nativeObjectGetField :: Scalar -> m (Maybe (Value m))
- nativeObjectGetAttribute :: Identifier -> m (Maybe (Value m))
- nativeObjectStringified :: m Text
- nativeObjectEncoded :: Context m -> m Encoded
- nativeObjectAsList :: m (Maybe (Vector (Value m)))
- nativeObjectCall :: Maybe (NativeObject m -> [(Maybe Identifier, Value m)] -> m (Either RuntimeError (Value m)))
- nativeObjectEq :: NativeObject m -> NativeObject m -> m (Either RuntimeError Bool)
- compareBy :: Ord b => (a -> b) -> a -> a -> Ordering
- nativeObjectAsDict :: Monad m => NativeObject m -> m (Maybe (Map Scalar (Value m)))
- (-->) :: obj -> (obj -> obj -> a) -> a
- defNativeObject :: forall (m :: Type -> Type). Monad m => ObjectID -> NativeObject m
- class ToScalar a where
- toIntScalar :: Integral a => a -> Scalar
- class FnArgValue a where
- fromArgValue :: forall (m :: Type -> Type). Value m -> Either RuntimeError a
- class FromValue a (m :: Type -> Type) where
- fromValue :: Value m -> m (Either RuntimeError a)
- class ToValue a (m :: Type -> Type) where
- class FnToValue a (m :: Type -> Type) where
- fnToValue :: ObjectID -> Maybe ProcedureDoc -> a -> Value m
- class ToNativeProcedure (m :: Type -> Type) a where
- toNativeProcedure :: a -> [(Maybe Identifier, Value m)] -> Context m -> SomePRNG -> m (Either RuntimeError (Value m))
- eitherExcept :: forall (m :: Type -> Type) e t a. (Monad m, MonadError e (t m)) => Either e a -> t m a
- eitherExceptM :: (Monad m, MonadError e (t m), MonadTrans t) => m (Either e a) -> t m a
- resolveArgs :: forall (m :: Type -> Type). Text -> [(Identifier, Maybe (Value m))] -> [(Maybe Identifier, Value m)] -> Either RuntimeError (Map Identifier (Value m))
- leftNaN :: Double -> Either RuntimeError Double
- numericFunc :: forall (m :: Type -> Type). Monad m => (Integer -> Integer) -> (Double -> Double) -> Value m -> Either RuntimeError (Value m)
- numericFuncCatch :: forall (m :: Type -> Type). Monad m => (Integer -> Either RuntimeError Integer) -> (Double -> Either RuntimeError Double) -> Value m -> Either RuntimeError (Value m)
- asOptionalVal :: forall (m :: Type -> Type) a. (Value m -> Either RuntimeError a) -> Value m -> Either RuntimeError (Maybe a)
- asIntVal :: forall (m :: Type -> Type). Text -> Value m -> Either RuntimeError Integer
- asFloatVal :: forall (m :: Type -> Type). Text -> Value m -> Either RuntimeError Double
- asFloatValLenient :: forall (m :: Type -> Type). Double -> Value m -> Double
- asBoolVal :: forall (m :: Type -> Type). Text -> Value m -> Either RuntimeError Bool
- asTruthVal :: forall (m :: Type -> Type). Text -> Value m -> Either RuntimeError Bool
- asVectorVal :: Monad m => Value m -> m (Either RuntimeError (Vector (Value m)))
- asListVal :: Monad m => Value m -> m (Either RuntimeError [Value m])
- asDictVal :: Monad m => Value m -> m (Either RuntimeError (Map Scalar (Value m)))
- asTextVal :: forall (m :: Type -> Type). Value m -> Either RuntimeError Text
- asScalarVal :: forall (m :: Type -> Type). Value m -> Either RuntimeError Scalar
- intFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Integer -> Either RuntimeError a) -> Value m -> Either RuntimeError (Value m)
- floatFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Double -> Either RuntimeError a) -> Value m -> Either RuntimeError (Value m)
- boolFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Bool -> a) -> Value m -> Either RuntimeError (Value m)
- textFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Text -> Either RuntimeError a) -> Value m -> Either RuntimeError (Value m)
- dictFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Map Scalar (Value m) -> Either RuntimeError a) -> Value m -> Either RuntimeError (Value m)
- numericFunc2 :: forall (m :: Type -> Type). Monad m => (Integer -> Integer -> Integer) -> (Double -> Double -> Double) -> Value m -> Value m -> Either RuntimeError (Value m)
- numericFunc2Catch :: forall (m :: Type -> Type). Monad m => (Integer -> Integer -> Either RuntimeError Integer) -> (Double -> Double -> Either RuntimeError Double) -> Value m -> Value m -> Either RuntimeError (Value m)
- intFunc2 :: forall (m :: Type -> Type). Monad m => (Integer -> Integer -> Either RuntimeError Integer) -> Value m -> Value m -> Either RuntimeError (Value m)
- floatFunc2 :: forall (m :: Type -> Type). Monad m => (Double -> Double -> Either RuntimeError Double) -> Value m -> Value m -> Either RuntimeError (Value m)
- boolFunc2 :: forall (m :: Type -> Type). Monad m => (Bool -> Bool -> Bool) -> Value m -> Value m -> Either RuntimeError (Value m)
- native :: (Monad m, MonadTrans t, MonadError RuntimeError (t m)) => m (Either RuntimeError a) -> t m a
- encodeText :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t, MonadReader (Context m) (t m)) => Text -> t m Encoded
- encodeTextWith :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t) => Context m -> Text -> t m Encoded
- encode :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t, MonadReader (Context m) (t m)) => Value m -> t m Encoded
- encodeWith :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t) => Context m -> Value m -> t m Encoded
- stringify :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t) => Value m -> t m Text
- stringifyKV :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t) => (Scalar, Value m) -> t m Text
- dictV :: forall (m :: Type -> Type). [(Scalar, Value m)] -> Value m
- (.=) :: forall v (m :: Type -> Type). ToValue v m => Scalar -> v -> (Scalar, Value m)
- arbitraryNativeProcedure :: forall (m :: Type -> Type). Monad m => Gen (Procedure m)
- arbitraryNative :: forall (m :: Type -> Type). Monad m => Gen (NativeObject m)
Documentation
Instances
RandomGen SomePRNG Source # | |
Defined in Language.Ginger.Value Methods next :: SomePRNG -> (Int, SomePRNG) # genWord8 :: SomePRNG -> (Word8, SomePRNG) # genWord16 :: SomePRNG -> (Word16, SomePRNG) # genWord32 :: SomePRNG -> (Word32, SomePRNG) # genWord64 :: SomePRNG -> (Word64, SomePRNG) # genWord32R :: Word32 -> SomePRNG -> (Word32, SomePRNG) # genWord64R :: Word64 -> SomePRNG -> (Word64, SomePRNG) # genShortByteString :: Int -> SomePRNG -> (ShortByteString, SomePRNG) # unsafeUniformFillMutableByteArray :: MutableByteArray s -> Int -> Int -> SomePRNG -> ST s SomePRNG # | |
SplitGen SomePRNG Source # | |
data Env (m :: Type -> Type) Source #
Constructors
Env | |
Fields
|
data Context (m :: Type -> Type) Source #
Constructors
Context | |
Fields
|
data OutputPolicy Source #
Instances
emptyContext :: forall (m :: Type -> Type). Applicative m => Context m Source #
Constructors
NoneScalar | |
BoolScalar !Bool | |
StringScalar !Text | |
EncodedScalar !Encoded | |
BytesScalar !ByteString | |
IntScalar !Integer | |
FloatScalar !Double |
Instances
Arbitrary Scalar Source # | |
FromJSON Scalar Source # | |
Defined in Language.Ginger.Value | |
FromJSONKey Scalar Source # | |
Defined in Language.Ginger.Value | |
ToJSON Scalar Source # | |
ToJSONKey Scalar Source # | |
Defined in Language.Ginger.Value | |
IsString Scalar Source # | |
Defined in Language.Ginger.Value Methods fromString :: String -> Scalar # | |
Show Scalar Source # | |
Eq Scalar Source # | |
Ord Scalar Source # | |
ToScalar Scalar Source # | |
Applicative m => FromValue Scalar m Source # | |
Defined in Language.Ginger.Value | |
ToValue Scalar a Source # | |
(Monad m, FromValue a m) => FromValue (Map Scalar a) m Source # | |
Defined in Language.Ginger.Value |
scalarToText :: Scalar -> Text Source #
data Value (m :: Type -> Type) Source #
A value, as using by the interpreter.
Constructors
ScalarV !Scalar | |
ListV !(Vector (Value m)) | |
DictV !(Map Scalar (Value m)) | |
NativeV !(NativeObject m) | |
ProcedureV !(Procedure m) | |
TestV !(Test m) | |
FilterV !(Filter m) | |
MutableRefV !RefID |
Instances
pattern BytesV :: ByteString -> Value m Source #
Constructors
ObjectID | |
Fields
|
Constructors
TypeDocNone | |
TypeDocAny | |
TypeDocSingle !Text | |
TypeDocAlternatives !(Vector Text) |
data ArgumentDoc Source #
Constructors
ArgumentDoc | |
Fields
|
Instances
Show ArgumentDoc Source # | |
Defined in Language.Ginger.Value Methods showsPrec :: Int -> ArgumentDoc -> ShowS # show :: ArgumentDoc -> String # showList :: [ArgumentDoc] -> ShowS # | |
Eq ArgumentDoc Source # | |
Defined in Language.Ginger.Value | |
ToValue ArgumentDoc m Source # | |
Defined in Language.Ginger.Value Methods toValue :: ArgumentDoc -> Value m Source # |
data ProcedureDoc Source #
Constructors
ProcedureDoc | |
Fields
|
Instances
Show ProcedureDoc Source # | |
Defined in Language.Ginger.Value Methods showsPrec :: Int -> ProcedureDoc -> ShowS # show :: ProcedureDoc -> String # showList :: [ProcedureDoc] -> ShowS # | |
Eq ProcedureDoc Source # | |
Defined in Language.Ginger.Value | |
Ord ProcedureDoc Source # | |
Defined in Language.Ginger.Value Methods compare :: ProcedureDoc -> ProcedureDoc -> Ordering # (<) :: ProcedureDoc -> ProcedureDoc -> Bool # (<=) :: ProcedureDoc -> ProcedureDoc -> Bool # (>) :: ProcedureDoc -> ProcedureDoc -> Bool # (>=) :: ProcedureDoc -> ProcedureDoc -> Bool # max :: ProcedureDoc -> ProcedureDoc -> ProcedureDoc # min :: ProcedureDoc -> ProcedureDoc -> ProcedureDoc # | |
ToValue ProcedureDoc m Source # | |
Defined in Language.Ginger.Value Methods toValue :: ProcedureDoc -> Value m Source # |
data Procedure (m :: Type -> Type) Source #
Constructors
NativeProcedure !ObjectID !(Maybe ProcedureDoc) !([(Maybe Identifier, Value m)] -> Context m -> SomePRNG -> m (Either RuntimeError (Value m))) | |
GingerProcedure !(Env m) ![(Identifier, Maybe (Value m))] !Expr | |
NamespaceProcedure |
Instances
Eq (Procedure m) Source # | |
Ord (Procedure m) Source # | |
Defined in Language.Ginger.Value |
pureNativeProcedure :: forall (m :: Type -> Type). Applicative m => ObjectID -> Maybe ProcedureDoc -> ([(Maybe Identifier, Value m)] -> Either RuntimeError (Value m)) -> Procedure m Source #
nativeFunc :: Monad m => ObjectID -> Maybe ProcedureDoc -> (Value m -> m (Either RuntimeError (Value m))) -> Procedure m Source #
pureNativeFunc :: forall (m :: Type -> Type). Applicative m => ObjectID -> Maybe ProcedureDoc -> (Value m -> Either RuntimeError (Value m)) -> Procedure m Source #
pureNativeFunc2 :: forall (m :: Type -> Type). Applicative m => ObjectID -> Maybe ProcedureDoc -> (Value m -> Value m -> Either RuntimeError (Value m)) -> Procedure m Source #
type MetaFunc (m :: Type -> Type) a = Expr -> [(Maybe Identifier, Value m)] -> Context m -> Env m -> SomePRNG -> m (Either RuntimeError a) Source #
data Test (m :: Type -> Type) Source #
Constructors
NativeTest | |
Fields
|
data Filter (m :: Type -> Type) Source #
Constructors
NativeFilter | |
Fields
|
data NativeObject (m :: Type -> Type) Source #
Constructors
NativeObject | |
Fields
|
Instances
Eq (NativeObject m) Source # | |
Defined in Language.Ginger.Value Methods (==) :: NativeObject m -> NativeObject m -> Bool # (/=) :: NativeObject m -> NativeObject m -> Bool # | |
Ord (NativeObject m) Source # | |
Defined in Language.Ginger.Value Methods compare :: NativeObject m -> NativeObject m -> Ordering # (<) :: NativeObject m -> NativeObject m -> Bool # (<=) :: NativeObject m -> NativeObject m -> Bool # (>) :: NativeObject m -> NativeObject m -> Bool # (>=) :: NativeObject m -> NativeObject m -> Bool # max :: NativeObject m -> NativeObject m -> NativeObject m # min :: NativeObject m -> NativeObject m -> NativeObject m # |
nativeObjectAsDict :: Monad m => NativeObject m -> m (Maybe (Map Scalar (Value m))) Source #
defNativeObject :: forall (m :: Type -> Type). Monad m => ObjectID -> NativeObject m Source #
class ToScalar a where Source #
Instances
ToScalar Int16 Source # | |
ToScalar Int32 Source # | |
ToScalar Int64 Source # | |
ToScalar Int8 Source # | |
ToScalar Word16 Source # | |
ToScalar Word32 Source # | |
ToScalar Word64 Source # | |
ToScalar Word8 Source # | |
ToScalar ByteString Source # | |
Defined in Language.Ginger.Value Methods toScalar :: ByteString -> Scalar Source # | |
ToScalar ByteString Source # | |
Defined in Language.Ginger.Value Methods toScalar :: ByteString -> Scalar Source # | |
ToScalar Identifier Source # | |
Defined in Language.Ginger.Value Methods toScalar :: Identifier -> Scalar Source # | |
ToScalar Scalar Source # | |
ToScalar Text Source # | |
ToScalar Text Source # | |
ToScalar Integer Source # | |
ToScalar () Source # | |
Defined in Language.Ginger.Value | |
ToScalar Bool Source # | |
ToScalar Double Source # | |
ToScalar Float Source # | |
ToScalar Int Source # | |
ToScalar Word Source # | |
ToScalar a => ToScalar (Maybe a) Source # | |
(ToScalar a, ToScalar b) => ToScalar (Either a b) Source # | |
toIntScalar :: Integral a => a -> Scalar Source #
class FnArgValue a where Source #
Methods
fromArgValue :: forall (m :: Type -> Type). Value m -> Either RuntimeError a Source #
class FromValue a (m :: Type -> Type) where Source #
Instances
class ToValue a (m :: Type -> Type) where Source #
Instances
class FnToValue a (m :: Type -> Type) where Source #
Instances
class ToNativeProcedure (m :: Type -> Type) a where Source #
Methods
toNativeProcedure :: a -> [(Maybe Identifier, Value m)] -> Context m -> SomePRNG -> m (Either RuntimeError (Value m)) Source #
Instances
eitherExcept :: forall (m :: Type -> Type) e t a. (Monad m, MonadError e (t m)) => Either e a -> t m a Source #
eitherExceptM :: (Monad m, MonadError e (t m), MonadTrans t) => m (Either e a) -> t m a Source #
resolveArgs :: forall (m :: Type -> Type). Text -> [(Identifier, Maybe (Value m))] -> [(Maybe Identifier, Value m)] -> Either RuntimeError (Map Identifier (Value m)) Source #
numericFunc :: forall (m :: Type -> Type). Monad m => (Integer -> Integer) -> (Double -> Double) -> Value m -> Either RuntimeError (Value m) Source #
numericFuncCatch :: forall (m :: Type -> Type). Monad m => (Integer -> Either RuntimeError Integer) -> (Double -> Either RuntimeError Double) -> Value m -> Either RuntimeError (Value m) Source #
asOptionalVal :: forall (m :: Type -> Type) a. (Value m -> Either RuntimeError a) -> Value m -> Either RuntimeError (Maybe a) Source #
asFloatVal :: forall (m :: Type -> Type). Text -> Value m -> Either RuntimeError Double Source #
asTruthVal :: forall (m :: Type -> Type). Text -> Value m -> Either RuntimeError Bool Source #
Lenient version of asBoolVal
, will also work on strings, numbers, lists,
and dicts.
asVectorVal :: Monad m => Value m -> m (Either RuntimeError (Vector (Value m))) Source #
asScalarVal :: forall (m :: Type -> Type). Value m -> Either RuntimeError Scalar Source #
intFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Integer -> Either RuntimeError a) -> Value m -> Either RuntimeError (Value m) Source #
floatFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Double -> Either RuntimeError a) -> Value m -> Either RuntimeError (Value m) Source #
boolFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Bool -> a) -> Value m -> Either RuntimeError (Value m) Source #
textFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Text -> Either RuntimeError a) -> Value m -> Either RuntimeError (Value m) Source #
dictFunc :: forall (m :: Type -> Type) a. (Monad m, ToValue a m) => (Map Scalar (Value m) -> Either RuntimeError a) -> Value m -> Either RuntimeError (Value m) Source #
numericFunc2 :: forall (m :: Type -> Type). Monad m => (Integer -> Integer -> Integer) -> (Double -> Double -> Double) -> Value m -> Value m -> Either RuntimeError (Value m) Source #
numericFunc2Catch :: forall (m :: Type -> Type). Monad m => (Integer -> Integer -> Either RuntimeError Integer) -> (Double -> Double -> Either RuntimeError Double) -> Value m -> Value m -> Either RuntimeError (Value m) Source #
intFunc2 :: forall (m :: Type -> Type). Monad m => (Integer -> Integer -> Either RuntimeError Integer) -> Value m -> Value m -> Either RuntimeError (Value m) Source #
floatFunc2 :: forall (m :: Type -> Type). Monad m => (Double -> Double -> Either RuntimeError Double) -> Value m -> Value m -> Either RuntimeError (Value m) Source #
boolFunc2 :: forall (m :: Type -> Type). Monad m => (Bool -> Bool -> Bool) -> Value m -> Value m -> Either RuntimeError (Value m) Source #
native :: (Monad m, MonadTrans t, MonadError RuntimeError (t m)) => m (Either RuntimeError a) -> t m a Source #
encodeText :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t, MonadReader (Context m) (t m)) => Text -> t m Encoded Source #
encodeTextWith :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t) => Context m -> Text -> t m Encoded Source #
encode :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t, MonadReader (Context m) (t m)) => Value m -> t m Encoded Source #
encodeWith :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t) => Context m -> Value m -> t m Encoded Source #
stringify :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t) => Value m -> t m Text Source #
stringifyKV :: forall (m :: Type -> Type) t. (Monad m, MonadError RuntimeError (t m), MonadTrans t) => (Scalar, Value m) -> t m Text Source #
(.=) :: forall v (m :: Type -> Type). ToValue v m => Scalar -> v -> (Scalar, Value m) infixr 8 Source #
arbitraryNative :: forall (m :: Type -> Type). Monad m => Gen (NativeObject m) Source #