| Copyright | (c) 2013-2016 Galois Inc. |
|---|---|
| License | BSD3 |
| Maintainer | cryptol@galois.com |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Cryptol.ModuleSystem.Interface
Description
Synopsis
- data Iface = Iface {}
- data IfaceDecls = IfaceDecls {
- ifTySyns :: Map Name IfaceTySyn
- ifNewtypes :: Map Name IfaceNewtype
- ifAbstractTypes :: Map Name IfaceAbstractType
- ifDecls :: Map Name IfaceDecl
- type IfaceTySyn = TySyn
- ifTySynName :: TySyn -> Name
- type IfaceNewtype = Newtype
- data IfaceDecl = IfaceDecl {
- ifDeclName :: !Name
- ifDeclSig :: Schema
- ifDeclPragmas :: [Pragma]
- ifDeclInfix :: Bool
- ifDeclFixity :: Maybe Fixity
- ifDeclDoc :: Maybe String
- mkIfaceDecl :: Decl -> IfaceDecl
- data IfaceParams = IfaceParams {}
- genIface :: Module -> Iface
- ifacePrimMap :: Iface -> PrimMap
- noIfaceParams :: IfaceParams
Documentation
The resulting interface generated by a module that has been typechecked.
Constructors
| Iface | |
Fields
| |
Instances
| Show Iface Source # | |
| Generic Iface Source # | |
| NFData Iface Source # | |
Defined in Cryptol.ModuleSystem.Interface | |
| type Rep Iface Source # | |
Defined in Cryptol.ModuleSystem.Interface type Rep Iface = D1 (MetaData "Iface" "Cryptol.ModuleSystem.Interface" "cryptol-2.9.1-EDtcoHURvveHmx5M6ZZjMK" False) (C1 (MetaCons "Iface" PrefixI True) ((S1 (MetaSel (Just "ifModName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ModName) :*: S1 (MetaSel (Just "ifPublic") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 IfaceDecls)) :*: (S1 (MetaSel (Just "ifPrivate") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 IfaceDecls) :*: S1 (MetaSel (Just "ifParams") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 IfaceParams)))) | |
data IfaceDecls Source #
Constructors
| IfaceDecls | |
Fields
| |
Instances
| Show IfaceDecls Source # | |
Defined in Cryptol.ModuleSystem.Interface Methods showsPrec :: Int -> IfaceDecls -> ShowS # show :: IfaceDecls -> String # showList :: [IfaceDecls] -> ShowS # | |
| Generic IfaceDecls Source # | |
Defined in Cryptol.ModuleSystem.Interface Associated Types type Rep IfaceDecls :: Type -> Type # | |
| Semigroup IfaceDecls Source # | |
Defined in Cryptol.ModuleSystem.Interface Methods (<>) :: IfaceDecls -> IfaceDecls -> IfaceDecls # sconcat :: NonEmpty IfaceDecls -> IfaceDecls # stimes :: Integral b => b -> IfaceDecls -> IfaceDecls # | |
| Monoid IfaceDecls Source # | |
Defined in Cryptol.ModuleSystem.Interface Methods mempty :: IfaceDecls # mappend :: IfaceDecls -> IfaceDecls -> IfaceDecls # mconcat :: [IfaceDecls] -> IfaceDecls # | |
| NFData IfaceDecls Source # | |
Defined in Cryptol.ModuleSystem.Interface Methods rnf :: IfaceDecls -> () # | |
| type Rep IfaceDecls Source # | |
Defined in Cryptol.ModuleSystem.Interface | |
type IfaceTySyn = TySyn Source #
ifTySynName :: TySyn -> Name Source #
type IfaceNewtype = Newtype Source #
Constructors
| IfaceDecl | |
Fields
| |
Instances
| Show IfaceDecl Source # | |
| Generic IfaceDecl Source # | |
| NFData IfaceDecl Source # | |
Defined in Cryptol.ModuleSystem.Interface | |
| type Rep IfaceDecl Source # | |
Defined in Cryptol.ModuleSystem.Interface type Rep IfaceDecl = D1 (MetaData "IfaceDecl" "Cryptol.ModuleSystem.Interface" "cryptol-2.9.1-EDtcoHURvveHmx5M6ZZjMK" False) (C1 (MetaCons "IfaceDecl" PrefixI True) ((S1 (MetaSel (Just "ifDeclName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Name) :*: (S1 (MetaSel (Just "ifDeclSig") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Schema) :*: S1 (MetaSel (Just "ifDeclPragmas") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Pragma]))) :*: (S1 (MetaSel (Just "ifDeclInfix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool) :*: (S1 (MetaSel (Just "ifDeclFixity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Fixity)) :*: S1 (MetaSel (Just "ifDeclDoc") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String)))))) | |
mkIfaceDecl :: Decl -> IfaceDecl Source #
data IfaceParams Source #
Constructors
| IfaceParams | |
Fields
| |
Instances
ifacePrimMap :: Iface -> PrimMap Source #
Produce a PrimMap from an interface.
NOTE: the map will expose both public and private names.