| Copyright | (c) 2020-2021 Alexandre Moreno |
|---|---|
| License | BSD-3-Clause OR Apache-2.0 |
| Maintainer | Alexandre Moreno <alexmorenocano@gmail.com> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Language.Jsonnet.Eval
Contents
Description
Synopsis
- rnf :: Core -> Eval Value
- whnfV :: Value -> Eval Value
- whnf :: Core -> Eval Value
- mkValue :: Core -> Eval Value
- lookupVar :: Name Core -> Eval Value
- whnfLiteral :: Literal -> Value
- whnfArgs :: Args Core -> Eval [Arg Value]
- whnfApp :: Core -> Args Core -> Eval Value
- withStackFrame :: Core -> Eval a -> Eval a
- whnfClos :: Env -> Lam -> [Arg Value] -> Eval Value
- appDefaults :: [(Name Core, Core)] -> Core -> Eval Value
- splitArgs :: [Arg b1] -> [(Name a1, b2)] -> EvalM a2 ([(Name a1, b2)], [(Name a1, b1)], [(Name a1, b1)])
- whnfPrim :: Prim -> [Arg Value] -> Eval Value
- whnfBinOp :: BinOp -> Value -> Value -> Eval Value
- whnfLogical :: HasValue a => (a -> Bool) -> Value -> Value -> Eval Value
- append :: Value -> Value -> Eval Text
- whnfUnyOp :: UnyOp -> Value -> Eval Value
- toString :: Value -> Eval Text
- whnfCond :: Value -> Value -> Value -> Eval Value
- whnfLookup :: Value -> Value -> Eval Value
- whnfIndir :: Ref -> Eval Value
- whnfLetrec :: Let -> Eval Value
- whnfObj :: [CField] -> Eval Value
- whnfField :: Env -> CField -> Eval (Maybe (Text, VField))
- flattenArrays :: Vector (Vector Value) -> Vector Value
- whnfComp :: Comp -> Core -> Eval Value
- mergeWith :: Object -> Object -> Eval Value
- visibleKeys :: Object -> HashMap Text Value
- liftMaybe :: EvalError -> Maybe a -> Eval a
- manifest :: Value -> Eval Value
- objectFieldsEx :: Object -> Bool -> [Text]
- objectHasEx :: Object -> Text -> Bool -> Bool
- primitiveEquals :: Value -> Value -> Eval Bool
- equals :: Value -> Value -> Eval Bool
- allM :: Monad m => (a -> m Bool) -> [a] -> m Bool
- liftF :: (HasValue a, HasValue b) => (a -> b) -> Value -> Eval Value
- liftF2 :: (HasValue a, HasValue b, HasValue c) => (a -> b -> c) -> Value -> Value -> Eval Value
- proj' :: HasValue a => Value -> Eval a
- throwTypeMismatch :: Text -> Value -> Eval a
- showTy :: Value -> Eval Text
Documentation
whnfLiteral :: Literal -> Value Source #
splitArgs :: [Arg b1] -> [(Name a1, b2)] -> EvalM a2 ([(Name a1, b2)], [(Name a1, b1)], [(Name a1, b1)]) Source #
mergeWith :: Object -> Object -> Eval Value Source #
Right-biased union of two objects, i.e. '{x : 1} + {x : 2} == {x : 2}'
with OO-like self and super support via value recursion (knot-tying)
liftF2 :: (HasValue a, HasValue b, HasValue c) => (a -> b -> c) -> Value -> Value -> Eval Value Source #
Orphan instances
| HasValue Bool Source # | |
| HasValue Double Source # | |
| Integral a => HasValue a Source # | |
| HasValue ByteString Source # | |
| HasValue Scientific Source # | |
| HasValue Text Source # | |
| HasValue Object Source # | |
| HasValue [Char] Source # | |
| HasValue a => HasValue [a] Source # | |
| HasValue a => HasValue (Maybe a) Source # | |
| HasValue a => HasValue (Vector a) Source # | |
| (HasValue a, HasValue b, HasValue c) => HasValue (a -> b -> Eval c) Source # | |
| (HasValue a, HasValue b) => HasValue (a -> Eval b) Source # | |
| (HasValue a, HasValue b, HasValue c) => HasValue (a -> b -> c) Source # | |
| (HasValue a, HasValue b) => HasValue (a -> b) Source # | |