Commit 4f247787 authored by John van Groningen's avatar John van Groningen
Browse files

optimize adapters for generic functions using algebraic types which have

constructors with only type variable arguments occurring at most once,
these types can be optimized if they occur as an argument or result,
or as an argument of such a type, of a generic function (and a generic
variable is used by the type)
parent f87cf53f
This diff is collapsed.
......@@ -551,12 +551,13 @@ NoGlobalIndex :== {gi_module=NoIndex,gi_index=NoIndex}
| GTSCons DefinedSymbol GenTypeStruct
| GTSField DefinedSymbol GenTypeStruct
| GTSObject DefinedSymbol GenTypeStruct
| GTSPair !GenTypeStruct !GenTypeStruct // for optimizing bimaps
| GTSEither !GenTypeStruct !GenTypeStruct // for optimizing bimaps
| 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
| GTSAppConsSimpleType !(Global Index) !TypeKind ![GenTypeStruct] // for optimizing bimaps
:: GenericTypeRep =
{ gtr_type :: GenTypeStruct // generic structure type
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment