| Safe Haskell | Trustworthy |
|---|---|
| Language | Haskell2010 |
Embedder.Isabelle.Syntax
Synopsis
- textS :: String -> Doc ann
- bar :: [Doc ann] -> Doc ann
- andS :: String
- ($+$) :: Doc ann -> Doc ann -> Doc ann
- tyAnn :: Doc ann -> Doc ann -> Doc ann
- printCon :: Text -> [Doc ann] -> Doc ann
- type TName = Text
- data Typ
- data TypSig = TypSig {
- typSigArgs :: [Typ]
- typeSigCod :: Typ
- tyAtomic :: Typ -> Bool
- printType :: Typ -> Doc ann
- printTyTuple :: [Typ] -> Doc ann
- pTyArg :: Typ -> Doc ann
- printType' :: TName -> [Typ] -> Doc ann
- printTBuiltin :: TyBuiltin -> [Typ] -> Doc ann
- isTuple :: Text -> Bool
- printTypSig :: TypSig -> Doc ann
- data DTyp
- type VName = Text
- data QName = QName {
- qname :: Text
- qualifiers :: [Text]
- data Term
- = LitString Text
- | LitNum Integer
- | LitWord Int Integer
- | LitVec [Term]
- | Free { }
- | Prim { }
- | Abs { }
- | App { }
- | If { }
- | Case { }
- | Let { }
- | IsaEq {
- firstTerm :: Term
- secondTerm :: Term
- | Tuplex [Term]
- | List [Term]
- | RecordVal [(Text, Term)]
- | RecordUpdate Term [(Text, Term)]
- | RecordSel Text Term
- | TypAnnTerm { }
- atomic :: Term -> Bool
- selfGroup :: Term -> Bool
- pArg :: Term -> Doc ann
- infixBuiltinList :: [Builtin]
- infixRWUserOpList :: [RWUserOp]
- prefixBuiltinList :: [Builtin]
- prefixRWUserOpList :: [RWUserOp]
- isInfix :: RWUserOp -> Bool
- isPrefix :: RWUserOp -> Bool
- textListRWOp :: [(RWUserOp, Text)]
- printApp :: Term -> [Term] -> Doc ann
- rwOpText :: RWUserOp -> Text
- pOp :: RWUserOp -> [Term] -> Doc ann
- printApp' :: Term -> [Term] -> Doc ann
- printTuple :: Pretty a => [a] -> Doc ann
- prettyTerm :: Term -> Doc ann
- data Pttrn
- data DatatypeConstructor = DatatypeConstructor {
- constructorName :: Text
- constructorArgs :: [Typ]
- printDatatypeConstructor :: DatatypeConstructor -> Doc ann
- data Decl
- = Datatype { }
- | Record {
- recordName :: Text
- recordTVars :: [Text]
- recordFields :: [(Text, Typ)]
- | TypeSynonym Text [Text] Typ
- | Definition { }
- | Fun {
- funEquations :: [(Text, TypSig, [([Pttrn], Term)])]
- data Theory = Theory {}
- printDecls :: Theory -> Doc ann
- mkHeader :: Theory -> Doc ann
- mkFooter :: Theory -> Doc ann
Documentation
Types
Instances
| Data Typ Source # | |
Defined in Embedder.Isabelle.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Typ -> c Typ # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Typ # dataTypeOf :: Typ -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Typ) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Typ) # gmapT :: (forall b. Data b => b -> b) -> Typ -> Typ # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Typ -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Typ -> r # gmapQ :: (forall d. Data d => d -> u) -> Typ -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Typ -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Typ -> m Typ # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Typ -> m Typ # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Typ -> m Typ # | |
| Show Typ Source # | |
| Eq Typ Source # | |
| Ord Typ Source # | |
| Pretty Typ Source # | |
Defined in Embedder.Isabelle.Syntax | |
Constructors
| TypSig | |
Fields
| |
Instances
| Data TypSig Source # | |
Defined in Embedder.Isabelle.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypSig -> c TypSig # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypSig # toConstr :: TypSig -> Constr # dataTypeOf :: TypSig -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypSig) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypSig) # gmapT :: (forall b. Data b => b -> b) -> TypSig -> TypSig # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypSig -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypSig -> r # gmapQ :: (forall d. Data d => d -> u) -> TypSig -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TypSig -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypSig -> m TypSig # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypSig -> m TypSig # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypSig -> m TypSig # | |
| Show TypSig Source # | |
| Eq TypSig Source # | |
| Ord TypSig Source # | |
| Pretty TypSig Source # | |
Defined in Embedder.Isabelle.Syntax | |
printTyTuple :: [Typ] -> Doc ann Source #
printTypSig :: TypSig -> Doc ann Source #
Types for Terms
Instances
| Data DTyp Source # | |
Defined in Embedder.Isabelle.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DTyp -> c DTyp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DTyp # dataTypeOf :: DTyp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DTyp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DTyp) # gmapT :: (forall b. Data b => b -> b) -> DTyp -> DTyp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DTyp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DTyp -> r # gmapQ :: (forall d. Data d => d -> u) -> DTyp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DTyp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DTyp -> m DTyp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DTyp -> m DTyp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DTyp -> m DTyp # | |
| Show DTyp Source # | |
| Eq DTyp Source # | |
| Ord DTyp Source # | |
Names with Qualifiers
Constructors
| QName | |
Fields
| |
Instances
| Data QName Source # | |
Defined in Embedder.Isabelle.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QName -> c QName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c QName # dataTypeOf :: QName -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c QName) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c QName) # gmapT :: (forall b. Data b => b -> b) -> QName -> QName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QName -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QName -> r # gmapQ :: (forall d. Data d => d -> u) -> QName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> QName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> QName -> m QName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QName -> m QName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QName -> m QName # | |
| Show QName Source # | |
| Eq QName Source # | |
| Ord QName Source # | |
Constructors
| LitString Text | |
| LitNum Integer | |
| LitWord Int Integer | |
| LitVec [Term] | |
| Free | |
| Prim | |
| Abs | lambda abstraction |
| App | application |
| If | |
| Case | |
| Let | |
| IsaEq | |
Fields
| |
| Tuplex [Term] | |
| List [Term] | |
| RecordVal [(Text, Term)] | |
| RecordUpdate Term [(Text, Term)] | |
| RecordSel Text Term | |
| TypAnnTerm | |
Instances
| Data Term Source # | |
Defined in Embedder.Isabelle.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Term -> c Term # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Term # dataTypeOf :: Term -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Term) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Term) # gmapT :: (forall b. Data b => b -> b) -> Term -> Term # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Term -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Term -> r # gmapQ :: (forall d. Data d => d -> u) -> Term -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Term -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Term -> m Term # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Term -> m Term # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Term -> m Term # | |
| Show Term Source # | |
| Eq Term Source # | |
| Ord Term Source # | |
| Pretty Term Source # | |
Defined in Embedder.Isabelle.Syntax | |
infixBuiltinList :: [Builtin] Source #
infixRWUserOpList :: [RWUserOp] Source #
prefixBuiltinList :: [Builtin] Source #
textListRWOp :: [(RWUserOp, Text)] Source #
printTuple :: Pretty a => [a] -> Doc ann Source #
prettyTerm :: Term -> Doc ann Source #
Constructors
| PttrnWildCard (Maybe Typ) | |
| PttrnVar VName (Maybe Typ) | |
| PttrnCon VName (Maybe Typ) [Pttrn] | |
| PttrnTuple (Maybe Typ) [Pttrn] | |
| PttrnAs (Maybe Typ) Pttrn VName | |
| PttrnRecord (Maybe Typ) [(Text, Pttrn)] |
Instances
| Data Pttrn Source # | |
Defined in Embedder.Isabelle.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Pttrn -> c Pttrn # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Pttrn # dataTypeOf :: Pttrn -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Pttrn) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Pttrn) # gmapT :: (forall b. Data b => b -> b) -> Pttrn -> Pttrn # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pttrn -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pttrn -> r # gmapQ :: (forall d. Data d => d -> u) -> Pttrn -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Pttrn -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pttrn -> m Pttrn # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pttrn -> m Pttrn # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pttrn -> m Pttrn # | |
| Show Pttrn Source # | |
| Eq Pttrn Source # | |
| Ord Pttrn Source # | |
| Pretty Pttrn Source # | |
Defined in Embedder.Isabelle.Syntax | |
data DatatypeConstructor Source #
Constructors
| DatatypeConstructor | |
Fields
| |
Instances
printDatatypeConstructor :: DatatypeConstructor -> Doc ann Source #
Constructors
| Datatype | |
Fields | |
| Record | |
Fields
| |
| TypeSynonym Text [Text] Typ | |
| Definition | |
Fields
| |
| Fun | |
Fields
| |
Instances
| Data Decl Source # | |
Defined in Embedder.Isabelle.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Decl -> c Decl # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Decl # dataTypeOf :: Decl -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Decl) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Decl) # gmapT :: (forall b. Data b => b -> b) -> Decl -> Decl # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Decl -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Decl -> r # gmapQ :: (forall d. Data d => d -> u) -> Decl -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Decl -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Decl -> m Decl # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Decl -> m Decl # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Decl -> m Decl # | |
| Show Decl Source # | |
| Eq Decl Source # | |
| Ord Decl Source # | |
| Pretty Decl Source # | |
Defined in Embedder.Isabelle.Syntax | |
printDecls :: Theory -> Doc ann Source #