nano-js-0.1.0.0: Small Language for Implementing Verification Algorithms

Safe HaskellNone

Language.Nano.Env

Description

Type Environments and Related Operations

Synopsis

Documentation

type Env t = SEnv (Located t)Source

Environments

envFromList :: (PP x, IsLocated x, Symbolic x) => [(x, t)] -> Env tSource

envToList :: SEnv (Located t) -> [(Id SourcePos, t)]Source

envAdd :: (Symbolic a1, IsLocated a1) => a1 -> a -> SEnv (Located a) -> SEnv (Located a)Source

envAdds :: (Symbolic a1, IsLocated a1) => [(a1, a)] -> SEnv (Located a) -> SEnv (Located a)Source

envFindTy :: Symbolic a => a -> SEnv (Located b) -> Maybe bSource

envAddReturn :: IsLocated a1 => a1 -> a -> SEnv (Located a) -> SEnv (Located a)Source

envFindReturn :: SEnv (Located c) -> cSource

envMem :: Symbolic a1 => a1 -> SEnv a -> BoolSource

envMap :: Functor f => (a -> b) -> SEnv (f a) -> SEnv (f b)Source

envIntersectWith :: (a -> b -> c) -> Env a -> Env b -> Env cSource

envEmpty :: SEnv aSource

envSEnv :: Env a -> SEnv aSource