From 230bf72b9ab3e4c6d572be193680037c64b7bf02 Mon Sep 17 00:00:00 2001 From: johnvg Date: Fri, 5 Feb 2010 13:37:42 +0000 Subject: add optimizations for generic bimap, add bimap instances for standard generic types to compiler git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1764 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- frontend/syntax.dcl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'frontend/syntax.dcl') 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}} -- cgit v1.2.3