Copyright | (c) 2013-2015 Galois, Inc. |
---|---|
License | BSD3 |
Maintainer | cryptol@galois.com |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
- data Iface = Iface {}
- data IfaceDecls = IfaceDecls {
- ifTySyns :: Map QName [IfaceTySyn]
- ifNewtypes :: Map QName [IfaceNewtype]
- ifDecls :: Map QName [IfaceDecl]
- type IfaceTySyn = TySyn
- ifTySynName :: TySyn -> QName
- type IfaceNewtype = Newtype
- data IfaceDecl = IfaceDecl {
- ifDeclName :: QName
- ifDeclSig :: Schema
- ifDeclPragmas :: [Pragma]
- mkIfaceDecl :: Decl -> IfaceDecl
- shadowing :: IfaceDecls -> IfaceDecls -> IfaceDecls
- interpImport :: Import -> Iface -> Iface
- unqualified :: IfaceDecls -> IfaceDecls
- genIface :: Module -> Iface
Documentation
The resulting interface generated by a module that has been typechecked.
Iface | |
|
Show Iface | |
BindsNames Iface | Produce a naming environment from an interface file, that contains a mapping only from unqualified names to qualified ones. |
data IfaceDecls Source
IfaceDecls | |
|
Show IfaceDecls | |
Monoid IfaceDecls | |
BindsNames IfaceDecls | Translate a set of declarations from an interface into a naming environment. |
type IfaceTySyn = TySyn Source
ifTySynName :: TySyn -> QName Source
type IfaceNewtype = Newtype Source
IfaceDecl | |
|
mkIfaceDecl :: Decl -> IfaceDecl Source
shadowing :: IfaceDecls -> IfaceDecls -> IfaceDecls Source
Like mappend for IfaceDecls, but preferring entries on the left.
interpImport :: Import -> Iface -> Iface Source
Interpret an import declaration in the scope of the interface it targets.