aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r--frontend/syntax.dcl9
1 files changed, 5 insertions, 4 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index b182073..a73ab4d 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -530,24 +530,25 @@ NoGlobalIndex :== {gi_module=NoIndex,gi_index=NoIndex}
, tdi_gen_rep :: !Optional GenericTypeRep
}
-// AA..
// type structure is used to specialize a generic to a type
:: GenTypeStruct
= GTSAppCons TypeKind [GenTypeStruct]
| GTSAppVar TypeVar [GenTypeStruct]
| GTSVar TypeVar
- | GTSArrow GenTypeStruct GenTypeStruct // needed for simplifying bimaps
- | GTSAppConsBimapKindConst // needed for simplifying bimaps
| GTSCons DefinedSymbol GenTypeStruct
| GTSField DefinedSymbol GenTypeStruct
| GTSObject DefinedSymbol GenTypeStruct
| GTSE
+ | GTSArrow GenTypeStruct GenTypeStruct // for optimizing bimaps
+ | GTSAppConsBimapKindConst // for optimizing bimaps
+ | GTSAppBimap TypeKind [GenTypeStruct] // for optimizing bimaps
+ | GTSPair !GenTypeStruct !GenTypeStruct // for optimizing bimaps
+ | GTSEither !GenTypeStruct !GenTypeStruct // for optimizing bimaps
:: GenericTypeRep =
{ gtr_type :: GenTypeStruct // generic structure type
, gtr_iso :: DefinedSymbol // the conversion isomorphism
}
-// ..AA
:: TypeDefInfos :== {# .{# TypeDefInfo}}