aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r--frontend/syntax.dcl12
1 files changed, 10 insertions, 2 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index 136363e..e6baf30 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -292,7 +292,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 =
@@ -457,8 +456,17 @@ NoGlobalIndex :== {gi_module=NoIndex,gi_index=NoIndex}
}
// 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 // generic structure type
, gtr_iso :: DefinedSymbol // the conversion isomorphism
}
// ..AA