Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
evaluatePrimOp :: (ABT Term abt, typs ~ UnLCs args, args ~ LCs typs) => PrimOp typs a -> SArgs abt args -> Env -> Value a Source #
evaluateArrayOp :: (ABT Term abt, typs ~ UnLCs args, args ~ LCs typs) => ArrayOp typs a -> SArgs abt args -> Env -> Value a Source #
evaluateMeasureOp :: (ABT Term abt, typs ~ UnLCs args, args ~ LCs typs) => MeasureOp typs a -> SArgs abt args -> Env -> Value ('HMeasure a) Source #
identityElement :: NaryOp a -> Value a Source #
evaluateLiteral :: Literal a -> Value a Source #
evaluateEmpty :: Value ('HArray a) Source #
evaluateArray :: ABT Term abt => abt '[] 'HNat -> abt '['HNat] a -> Env -> Value ('HArray a) Source #
evaluateBucket :: ABT Term abt => abt '[] 'HNat -> abt '[] 'HNat -> Reducer abt '[] a -> Env -> Value a Source #
evaluateCase :: forall abt a b. ABT Term abt => abt '[] a -> [Branch a abt b] -> Env -> Value b Source #
evaluateSuperpose :: ABT Term abt => NonEmpty (abt '[] 'HProb, abt '[] ('HMeasure a)) -> Env -> Value ('HMeasure a) Source #
intToNatural :: Int -> Natural Source #