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 |
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 Text Source # | |
HasValue Scientific 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 # | |