aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/syntax.icl')
-rw-r--r--frontend/syntax.icl12
1 files changed, 10 insertions, 2 deletions
diff --git a/frontend/syntax.icl b/frontend/syntax.icl
index 28b9649..a71dc0b 100644
--- a/frontend/syntax.icl
+++ b/frontend/syntax.icl
@@ -286,7 +286,6 @@ cNameLocationDependent :== True
, gen_type :: !SymbolType // Generic type (st_vars include generic type vars)
, gen_vars :: ![TypeVar] // Generic type variables
, gen_info_ptr :: !GenericInfoPtr
- , gen_bimap :: !DefinedSymbol // fun def index of the bimap for the generic type
}
:: GenericClassInfo =
@@ -1038,8 +1037,17 @@ cNotVarNumber :== -1
}
// AA..
+// type structure is used to specialize a generic to a type
+:: GenTypeStruct
+ = GTSAppCons TypeKind [GenTypeStruct]
+ | GTSAppVar TypeVar [GenTypeStruct]
+ | GTSVar TypeVar
+ | GTSCons DefinedSymbol GenTypeStruct
+ | GTSField DefinedSymbol GenTypeStruct
+ | GTSE
+
:: GenericTypeRep =
- { gtr_type :: AType // generic structure type
+ { gtr_type :: GenTypeStruct //AType // generic structure type
, gtr_iso :: DefinedSymbol // the conversion isomorphism
}
// ..AA