| Safe Haskell | None |
|---|
Language.PureScript.Environment
Description
- data Environment = Environment {
- names :: Map (ModuleName, Ident) (Type, NameKind, NameVisibility)
- types :: Map (Qualified ProperName) (Kind, TypeKind)
- dataConstructors :: Map (Qualified ProperName) (DataDeclType, ProperName, Type)
- typeSynonyms :: Map (Qualified ProperName) ([(String, Maybe Kind)], Type)
- typeClassDictionaries :: Map (Qualified Ident, Maybe ModuleName) TypeClassDictionaryInScope
- typeClasses :: Map (Qualified ProperName) ([(String, Maybe Kind)], [(Ident, Type)], [(Qualified ProperName, [Type])])
- initEnvironment :: Environment
- data ForeignImportType
- data NameVisibility
- data NameKind
- data TypeKind
- = DataType [(String, Maybe Kind)] [(ProperName, [Type])]
- | TypeSynonym
- | ExternData
- | LocalTypeVariable
- data DataDeclType
- primName :: String -> Qualified ProperName
- primTy :: String -> Type
- tyFunction :: Type
- tyString :: Type
- tyNumber :: Type
- tyBoolean :: Type
- tyArray :: Type
- tyObject :: Type
- function :: Type -> Type -> Type
- primTypes :: Map (Qualified ProperName) (Kind, TypeKind)
Documentation
data Environment Source
The Environment defines all values and types which are currently in scope:
Constructors
| Environment | |
Fields
| |
Instances
| Show Environment |
initEnvironment :: EnvironmentSource
The initial environment with no values and only the default javascript types defined
data ForeignImportType Source
The type of a foreign import
Constructors
| ForeignImport | A regular foreign import |
| InlineJavascript | A foreign import which contains inline Javascript as a string literal |
Instances
| Eq ForeignImportType | |
| Data ForeignImportType | |
| Show ForeignImportType | |
| Typeable ForeignImportType |
data NameVisibility Source
The visibility of a name in scope
Constructors
| Undefined | The name is defined in the current binding group, but is not visible |
| Defined | The name is defined in the another binding group, or has been made visible by a function binder |
Instances
| Eq NameVisibility | |
| Show NameVisibility |
The kind of a name
Constructors
| Value | A value introduced as a binding in a module |
| TypeClassAccessorImport | A type class dictionary member accessor import, generated during desugaring of type class declarations |
| Extern ForeignImportType | A foreign import |
| LocalVariable | A local name introduced using a lambda abstraction, variable introduction or binder |
| DataConstructor | A data constructor |
| TypeInstanceDictionaryValue | A type class dictionary, generated during desugaring of type class declarations |
The kinds of a type
Constructors
| DataType [(String, Maybe Kind)] [(ProperName, [Type])] | Data type |
| TypeSynonym | Type synonym |
| ExternData | Foreign data |
| LocalTypeVariable | A local type variable |
data DataDeclType Source
The type ('data' or 'newtype') of a data type declaration
Instances
| Eq DataDeclType | |
| Data DataDeclType | |
| Ord DataDeclType | |
| Show DataDeclType | |
| Typeable DataDeclType |
primName :: String -> Qualified ProperNameSource
Construct a ProperName in the Prim module
Type constructor for functions