cryptol-3.0.0: Cryptol: The Language of Cryptography

Safe Haskell | Safe
Language | Haskell2010

Cryptol.ModuleSystem.Exports

Synopsis

- exportedDecls :: Ord name => [TopDecl name] -> ExportSpec name
- exportedNames :: Ord name => TopDecl name -> [ExportSpec name]
- newtype ExportSpec name = ExportSpec (Map Namespace (Set name))
- exportName :: Ord name => Namespace -> TopLevel name -> ExportSpec name
- allExported :: Ord name => ExportSpec name -> Set name
- exported :: Namespace -> ExportSpec name -> Set name
- exportBind :: Ord name => TopLevel name -> ExportSpec name
- exportType :: Ord name => TopLevel name -> ExportSpec name
- isExported :: Ord name => Namespace -> name -> ExportSpec name -> Bool
- isExportedBind :: Ord name => name -> ExportSpec name -> Bool
- isExportedType :: Ord name => name -> ExportSpec name -> Bool

# Documentation

exportedDecls :: Ord name => [TopDecl name] -> ExportSpec name Source #

exportedNames :: Ord name => TopDecl name -> [ExportSpec name] Source #

newtype ExportSpec name Source #

Constructors

ExportSpec (Map Namespace (Set name)) |

#### Instances

Instances details

Ord name => Monoid (ExportSpec name) Source # |
Instance details Defined in Cryptol.ModuleSystem.Exports Methods mempty :: ExportSpec name Source # mappend :: ExportSpec name -> ExportSpec name -> ExportSpec name Source # mconcat :: [ExportSpec name] -> ExportSpec name Source #
Ord name => Semigroup (ExportSpec name) Source # |
Instance details Defined in Cryptol.ModuleSystem.Exports Methods (<>) :: ExportSpec name -> ExportSpec name -> ExportSpec name Source # sconcat :: NonEmpty (ExportSpec name) -> ExportSpec name Source # stimes :: Integral b => b -> ExportSpec name -> ExportSpec name Source #
Generic (ExportSpec name) Source # |
Instance details Defined in Cryptol.ModuleSystem.Exports Associated Types type Rep (ExportSpec name) :: Type -> Type Source # Methods from :: ExportSpec name -> Rep (ExportSpec name) x Source # to :: Rep (ExportSpec name) x -> ExportSpec name Source #
Show name => Show (ExportSpec name) Source # |
Instance details Defined in Cryptol.ModuleSystem.Exports Methods showsPrec :: Int -> ExportSpec name -> ShowS Source # show :: ExportSpec name -> String Source # showList :: [ExportSpec name] -> ShowS Source #
(Ord a, TraverseNames a) => TraverseNames (ExportSpec a) Source # |
Instance details Defined in Cryptol.IR.TraverseNames Methods traverseNamesIP :: (Applicative f, ?name :: Name -> f Name) => ExportSpec a -> f (ExportSpec a) Source #
NFData name => NFData (ExportSpec name) Source # |
Instance details Defined in Cryptol.ModuleSystem.Exports Methods rnf :: ExportSpec name -> () Source #
type Rep (ExportSpec name) Source # |
Instance details Defined in Cryptol.ModuleSystem.Exports type Rep (ExportSpec name) = D1 ('MetaData "ExportSpec" "Cryptol.ModuleSystem.Exports" "cryptol-3.0.0-DBVDUAjB1JeD0WzkHH4ckn" 'True) (C1 ('MetaCons "ExportSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Namespace (Set name)))))

exportName :: Ord name => Namespace -> TopLevel name -> ExportSpec name Source #

allExported :: Ord name => ExportSpec name -> Set name Source #

exported :: Namespace -> ExportSpec name -> Set name Source #

exportBind :: Ord name => TopLevel name -> ExportSpec name Source #

Add a binding name to the export list, if it should be exported.

exportType :: Ord name => TopLevel name -> ExportSpec name Source #

Add a type synonym name to the export list, if it should be exported.

isExported :: Ord name => Namespace -> name -> ExportSpec name -> Bool Source #

isExportedBind :: Ord name => name -> ExportSpec name -> Bool Source #

Check to see if a binding is exported.

isExportedType :: Ord name => name -> ExportSpec name -> Bool Source #

Check to see if a type synonym is exported.