purescript-0.13.8: PureScript Programming Language Compiler

Safe HaskellNone
LanguageHaskell2010

Language.PureScript.Externs

Description

This module generates code for "externs" files, i.e. files containing only foreign import declarations.

Synopsis

Documentation

data ExternsFile Source #

The data which will be serialized to an externs file

Constructors

ExternsFile 

Fields

Instances
Show ExternsFile Source # 
Instance details

Defined in Language.PureScript.Externs

Generic ExternsFile Source # 
Instance details

Defined in Language.PureScript.Externs

Associated Types

type Rep ExternsFile :: Type -> Type #

Serialise ExternsFile Source # 
Instance details

Defined in Language.PureScript.Externs

type Rep ExternsFile Source # 
Instance details

Defined in Language.PureScript.Externs

data ExternsImport Source #

A module import in an externs file

Constructors

ExternsImport 

Fields

data ExternsFixity Source #

A fixity declaration in an externs file

Constructors

ExternsFixity 

Fields

data ExternsTypeFixity Source #

A type fixity declaration in an externs file

Constructors

ExternsTypeFixity 

Fields

Instances
Show ExternsTypeFixity Source # 
Instance details

Defined in Language.PureScript.Externs

Generic ExternsTypeFixity Source # 
Instance details

Defined in Language.PureScript.Externs

Associated Types

type Rep ExternsTypeFixity :: Type -> Type #

Serialise ExternsTypeFixity Source # 
Instance details

Defined in Language.PureScript.Externs

type Rep ExternsTypeFixity Source # 
Instance details

Defined in Language.PureScript.Externs

type Rep ExternsTypeFixity = D1 (MetaData "ExternsTypeFixity" "Language.PureScript.Externs" "purescript-0.13.8-3suDZOoNqEmGMNoGwLr2r9" False) (C1 (MetaCons "ExternsTypeFixity" PrefixI True) ((S1 (MetaSel (Just "efTypeAssociativity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Associativity) :*: S1 (MetaSel (Just "efTypePrecedence") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Precedence)) :*: (S1 (MetaSel (Just "efTypeOperator") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (OpName TypeOpName)) :*: S1 (MetaSel (Just "efTypeAlias") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Qualified (ProperName TypeName))))))

data ExternsDeclaration Source #

A type or value declaration appearing in an externs file

Instances
Show ExternsDeclaration Source # 
Instance details

Defined in Language.PureScript.Externs

Generic ExternsDeclaration Source # 
Instance details

Defined in Language.PureScript.Externs

Associated Types

type Rep ExternsDeclaration :: Type -> Type #

Serialise ExternsDeclaration Source # 
Instance details

Defined in Language.PureScript.Externs

type Rep ExternsDeclaration Source # 
Instance details

Defined in Language.PureScript.Externs

type Rep ExternsDeclaration = D1 (MetaData "ExternsDeclaration" "Language.PureScript.Externs" "purescript-0.13.8-3suDZOoNqEmGMNoGwLr2r9" False) ((C1 (MetaCons "EDType" PrefixI True) (S1 (MetaSel (Just "edTypeName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (ProperName TypeName)) :*: (S1 (MetaSel (Just "edTypeKind") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SourceKind) :*: S1 (MetaSel (Just "edTypeDeclarationKind") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 TypeKind))) :+: (C1 (MetaCons "EDTypeSynonym" PrefixI True) (S1 (MetaSel (Just "edTypeSynonymName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (ProperName TypeName)) :*: (S1 (MetaSel (Just "edTypeSynonymArguments") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Text, Maybe SourceKind)]) :*: S1 (MetaSel (Just "edTypeSynonymType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SourceType))) :+: C1 (MetaCons "EDDataConstructor" PrefixI True) ((S1 (MetaSel (Just "edDataCtorName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (ProperName ConstructorName)) :*: S1 (MetaSel (Just "edDataCtorOrigin") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DataDeclType)) :*: (S1 (MetaSel (Just "edDataCtorTypeCtor") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (ProperName TypeName)) :*: (S1 (MetaSel (Just "edDataCtorType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SourceType) :*: S1 (MetaSel (Just "edDataCtorFields") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Ident])))))) :+: ((C1 (MetaCons "EDValue" PrefixI True) (S1 (MetaSel (Just "edValueName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Ident) :*: S1 (MetaSel (Just "edValueType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SourceType)) :+: C1 (MetaCons "EDClass" PrefixI True) ((S1 (MetaSel (Just "edClassName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (ProperName ClassName)) :*: (S1 (MetaSel (Just "edClassTypeArguments") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Text, Maybe SourceKind)]) :*: S1 (MetaSel (Just "edClassMembers") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Ident, SourceType)]))) :*: (S1 (MetaSel (Just "edClassConstraints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [SourceConstraint]) :*: (S1 (MetaSel (Just "edFunctionalDependencies") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FunctionalDependency]) :*: S1 (MetaSel (Just "edIsEmpty") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))) :+: (C1 (MetaCons "EDInstance" PrefixI True) ((S1 (MetaSel (Just "edInstanceClassName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Qualified (ProperName ClassName))) :*: (S1 (MetaSel (Just "edInstanceName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Ident) :*: S1 (MetaSel (Just "edInstanceTypes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [SourceType]))) :*: (S1 (MetaSel (Just "edInstanceConstraints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [SourceConstraint])) :*: (S1 (MetaSel (Just "edInstanceChain") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Qualified Ident]) :*: S1 (MetaSel (Just "edInstanceChainIndex") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))) :+: C1 (MetaCons "EDKind" PrefixI True) (S1 (MetaSel (Just "edKindName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (ProperName KindName))))))

externsIsCurrentVersion :: ExternsFile -> Bool Source #

Check whether the version in an externs file matches the currently running version.

moduleToExternsFile :: Module -> Environment -> ExternsFile Source #

Generate an externs file for all declarations in a module

applyExternsFileToEnvironment :: ExternsFile -> Environment -> Environment Source #

Convert an externs file back into a module