Safe Haskell | None |
---|
Language.Nano.Types
Contents
- data Config
- pAnd :: Pred -> Pred -> Pred
- pOr :: Pred -> Pred -> Pred
- class IsNano a where
- checkTopStmt :: Statement SourcePos -> Statement SourcePos
- data Located a = Loc {}
- class IsLocated a where
- srcPos :: a -> SourcePos
- getSpec :: (Statement a -> Maybe Pred) -> [Statement a] -> Pred
- getRequires :: Statement a -> Maybe Pred
- getEnsures :: Statement a -> Maybe Pred
- getAssume :: Statement a -> Maybe Pred
- getAssert :: Statement a -> Maybe Pred
- getInvariant :: Statement a -> Pred
- isSpecification :: Statement a -> Bool
- returnSymbol :: Symbol
- returnId :: a -> Id a
- symbolId :: (IsLocated l, Symbolic x) => l -> x -> Id l
- mkId :: String -> Id SourcePos
- convertError :: PP a => [Char] -> a -> c
- idName :: Id t -> String
- idLoc :: Id t -> t
Configuration Options
Some Operators on Pred
Nano Definition
checkTopStmt :: Statement SourcePos -> Statement SourcePosSource
Trivial Syntax Checking
Located Values
IsLocated
is a predicate that describes values for which we have
a SourcePos
Accessing Spec Annotations
getRequires :: Statement a -> Maybe PredSource
getEnsures :: Statement a -> Maybe PredSource
getInvariant :: Statement a -> PredSource
isSpecification :: Statement a -> BoolSource
returnSymbol :: SymbolSource
mkId :: String -> Id SourcePosSource
Helpers for extracting specifications from ECMAScript3
Statement
Error message
convertError :: PP a => [Char] -> a -> cSource