Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Module = Module {
- name :: !ModuleName
- imports :: ![Import]
- declarationNames :: ![ModuleName]
- definitions :: ![TypeDefinition]
- sourceFile :: !FilePath
- newtype ModuleName = ModuleName Text
- newtype Import = Import Module
- newtype DefinitionName = DefinitionName {}
- data TypeDefinition = TypeDefinition !DefinitionName !TypeData
- data ImportedTypeDefinition = ImportedTypeDefinition {
- sourceModule :: !ModuleName
- name :: !DefinitionName
- typeData :: !TypeData
- newtype TypeTag = TypeTag Text
- newtype TypeVariable = TypeVariable Text
- newtype ConstructorName = ConstructorName Text
- newtype FieldName = FieldName Text
- newtype EnumerationIdentifier = EnumerationIdentifier Text
- data TagType
- data TypeData
- data EmbeddedConstructor = EmbeddedConstructor !ConstructorName !(Maybe DefinitionReference)
- data StructType
- = PlainStruct ![StructField]
- | GenericStruct ![TypeVariable] ![StructField]
- data UnionType
- = PlainUnion ![Constructor]
- | GenericUnion ![TypeVariable] ![Constructor]
- data Constructor = Constructor !ConstructorName !(Maybe FieldType)
- data StructField = StructField !FieldName !FieldType
- data EnumerationValue = EnumerationValue !EnumerationIdentifier !LiteralTypeValue
- data FieldType
- data DefinitionReference
- = DefinitionReference !TypeDefinition
- | ImportedDefinitionReference !ModuleName !TypeDefinition
- | AppliedGenericReference ![FieldType] !TypeDefinition
- | AppliedImportedGenericReference !ModuleName !AppliedTypes !TypeDefinition
- | DeclarationReference !ModuleName !DefinitionName
- | GenericDeclarationReference !ModuleName !DefinitionName !AppliedTypes
- newtype AppliedTypes = AppliedTypes [FieldType]
- data BasicTypeValue
- data ComplexTypeValue
- data LiteralTypeValue
Documentation
Module | |
|
newtype ModuleName Source #
Instances
Eq ModuleName Source # | |
Defined in Types (==) :: ModuleName -> ModuleName -> Bool # (/=) :: ModuleName -> ModuleName -> Bool # | |
Ord ModuleName Source # | |
Defined in Types compare :: ModuleName -> ModuleName -> Ordering # (<) :: ModuleName -> ModuleName -> Bool # (<=) :: ModuleName -> ModuleName -> Bool # (>) :: ModuleName -> ModuleName -> Bool # (>=) :: ModuleName -> ModuleName -> Bool # max :: ModuleName -> ModuleName -> ModuleName # min :: ModuleName -> ModuleName -> ModuleName # | |
Show ModuleName Source # | |
Defined in Types showsPrec :: Int -> ModuleName -> ShowS # show :: ModuleName -> String # showList :: [ModuleName] -> ShowS # |
newtype DefinitionName Source #
Instances
Eq DefinitionName Source # | |
Defined in Types (==) :: DefinitionName -> DefinitionName -> Bool # (/=) :: DefinitionName -> DefinitionName -> Bool # | |
Show DefinitionName Source # | |
Defined in Types showsPrec :: Int -> DefinitionName -> ShowS # show :: DefinitionName -> String # showList :: [DefinitionName] -> ShowS # |
data TypeDefinition Source #
Instances
Eq TypeDefinition Source # | |
Defined in Types (==) :: TypeDefinition -> TypeDefinition -> Bool # (/=) :: TypeDefinition -> TypeDefinition -> Bool # | |
Show TypeDefinition Source # | |
Defined in Types showsPrec :: Int -> TypeDefinition -> ShowS # show :: TypeDefinition -> String # showList :: [TypeDefinition] -> ShowS # |
data ImportedTypeDefinition Source #
Instances
Eq ImportedTypeDefinition Source # | |
Defined in Types | |
Show ImportedTypeDefinition Source # | |
Defined in Types showsPrec :: Int -> ImportedTypeDefinition -> ShowS # show :: ImportedTypeDefinition -> String # showList :: [ImportedTypeDefinition] -> ShowS # |
newtype TypeVariable Source #
Instances
Eq TypeVariable Source # | |
Defined in Types (==) :: TypeVariable -> TypeVariable -> Bool # (/=) :: TypeVariable -> TypeVariable -> Bool # | |
Show TypeVariable Source # | |
Defined in Types showsPrec :: Int -> TypeVariable -> ShowS # show :: TypeVariable -> String # showList :: [TypeVariable] -> ShowS # |
newtype ConstructorName Source #
Instances
Eq ConstructorName Source # | |
Defined in Types (==) :: ConstructorName -> ConstructorName -> Bool # (/=) :: ConstructorName -> ConstructorName -> Bool # | |
Show ConstructorName Source # | |
Defined in Types showsPrec :: Int -> ConstructorName -> ShowS # show :: ConstructorName -> String # showList :: [ConstructorName] -> ShowS # |
newtype EnumerationIdentifier Source #
Instances
Eq EnumerationIdentifier Source # | |
Defined in Types (==) :: EnumerationIdentifier -> EnumerationIdentifier -> Bool # (/=) :: EnumerationIdentifier -> EnumerationIdentifier -> Bool # | |
Show EnumerationIdentifier Source # | |
Defined in Types showsPrec :: Int -> EnumerationIdentifier -> ShowS # show :: EnumerationIdentifier -> String # showList :: [EnumerationIdentifier] -> ShowS # |
Defines what type tag field a union should have as well as the type tag location.
EmbeddedTypeTag FieldName | The union has the type tag with the rest of the payload. |
StandardTypeTag FieldName | The union has the type tag outside of the payload, wrapping it. |
data EmbeddedConstructor Source #
Instances
Eq EmbeddedConstructor Source # | |
Defined in Types (==) :: EmbeddedConstructor -> EmbeddedConstructor -> Bool # (/=) :: EmbeddedConstructor -> EmbeddedConstructor -> Bool # | |
Show EmbeddedConstructor Source # | |
Defined in Types showsPrec :: Int -> EmbeddedConstructor -> ShowS # show :: EmbeddedConstructor -> String # showList :: [EmbeddedConstructor] -> ShowS # |
data StructType Source #
Instances
Eq StructType Source # | |
Defined in Types (==) :: StructType -> StructType -> Bool # (/=) :: StructType -> StructType -> Bool # | |
Show StructType Source # | |
Defined in Types showsPrec :: Int -> StructType -> ShowS # show :: StructType -> String # showList :: [StructType] -> ShowS # |
data Constructor Source #
Instances
Eq Constructor Source # | |
Defined in Types (==) :: Constructor -> Constructor -> Bool # (/=) :: Constructor -> Constructor -> Bool # | |
Show Constructor Source # | |
Defined in Types showsPrec :: Int -> Constructor -> ShowS # show :: Constructor -> String # showList :: [Constructor] -> ShowS # |
data StructField Source #
Instances
Eq StructField Source # | |
Defined in Types (==) :: StructField -> StructField -> Bool # (/=) :: StructField -> StructField -> Bool # | |
Show StructField Source # | |
Defined in Types showsPrec :: Int -> StructField -> ShowS # show :: StructField -> String # showList :: [StructField] -> ShowS # |
data EnumerationValue Source #
Instances
Eq EnumerationValue Source # | |
Defined in Types (==) :: EnumerationValue -> EnumerationValue -> Bool # (/=) :: EnumerationValue -> EnumerationValue -> Bool # | |
Show EnumerationValue Source # | |
Defined in Types showsPrec :: Int -> EnumerationValue -> ShowS # show :: EnumerationValue -> String # showList :: [EnumerationValue] -> ShowS # |
data DefinitionReference Source #
Instances
Eq DefinitionReference Source # | |
Defined in Types (==) :: DefinitionReference -> DefinitionReference -> Bool # (/=) :: DefinitionReference -> DefinitionReference -> Bool # | |
Show DefinitionReference Source # | |
Defined in Types showsPrec :: Int -> DefinitionReference -> ShowS # show :: DefinitionReference -> String # showList :: [DefinitionReference] -> ShowS # |
newtype AppliedTypes Source #
Instances
Eq AppliedTypes Source # | |
Defined in Types (==) :: AppliedTypes -> AppliedTypes -> Bool # (/=) :: AppliedTypes -> AppliedTypes -> Bool # | |
Show AppliedTypes Source # | |
Defined in Types showsPrec :: Int -> AppliedTypes -> ShowS # show :: AppliedTypes -> String # showList :: [AppliedTypes] -> ShowS # |
data BasicTypeValue Source #
Instances
Eq BasicTypeValue Source # | |
Defined in Types (==) :: BasicTypeValue -> BasicTypeValue -> Bool # (/=) :: BasicTypeValue -> BasicTypeValue -> Bool # | |
Show BasicTypeValue Source # | |
Defined in Types showsPrec :: Int -> BasicTypeValue -> ShowS # show :: BasicTypeValue -> String # showList :: [BasicTypeValue] -> ShowS # |
data ComplexTypeValue Source #
Instances
Eq ComplexTypeValue Source # | |
Defined in Types (==) :: ComplexTypeValue -> ComplexTypeValue -> Bool # (/=) :: ComplexTypeValue -> ComplexTypeValue -> Bool # | |
Show ComplexTypeValue Source # | |
Defined in Types showsPrec :: Int -> ComplexTypeValue -> ShowS # show :: ComplexTypeValue -> String # showList :: [ComplexTypeValue] -> ShowS # |
data LiteralTypeValue Source #
Instances
Eq LiteralTypeValue Source # | |
Defined in Types (==) :: LiteralTypeValue -> LiteralTypeValue -> Bool # (/=) :: LiteralTypeValue -> LiteralTypeValue -> Bool # | |
Show LiteralTypeValue Source # | |
Defined in Types showsPrec :: Int -> LiteralTypeValue -> ShowS # show :: LiteralTypeValue -> String # showList :: [LiteralTypeValue] -> ShowS # |