adaptive-tuple-0.2.0: Self-optimizing tuple types

Data.AdaptiveTuple.Reps.Strict

Description

Adaptive Tuples with strict fields and unboxed elements. The equivalent of data ATuple1 s n = ATuple1 !n compiled with -funbox-strict-fields. It is usually not necessary to import this module except to make custom reification functions.

Documentation

data ATuple20 s[a1bub] a[a1buc] Source

Constructors

ATuple20 !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] !a[a1buc] 

Instances

Typeable2 ATuple20 
AdaptiveTuple ATuple20 D20 
Functor (ATuple20 D20) 
Applicative (ATuple20 D20) 
Eq a[a1buc] => Eq (ATuple20 s[a1bub] a[a1buc]) 
(Data s[a1bub], Data a[a1buc]) => Data (ATuple20 s[a1bub] a[a1buc]) 
Show a[a1buc] => Show (ATuple20 s[a1bub] a[a1buc]) 

data ATuple19 s[a1bu9] a[a1bua] Source

Constructors

ATuple19 !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] !a[a1bua] 

Instances

Typeable2 ATuple19 
AdaptiveTuple ATuple19 D19 
Functor (ATuple19 D19) 
Applicative (ATuple19 D19) 
Eq a[a1bua] => Eq (ATuple19 s[a1bu9] a[a1bua]) 
(Data s[a1bu9], Data a[a1bua]) => Data (ATuple19 s[a1bu9] a[a1bua]) 
Show a[a1bua] => Show (ATuple19 s[a1bu9] a[a1bua]) 

data ATuple18 s[a1bu7] a[a1bu8] Source

Constructors

ATuple18 !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] !a[a1bu8] 

Instances

Typeable2 ATuple18 
AdaptiveTuple ATuple18 D18 
Functor (ATuple18 D18) 
Applicative (ATuple18 D18) 
Eq a[a1bu8] => Eq (ATuple18 s[a1bu7] a[a1bu8]) 
(Data s[a1bu7], Data a[a1bu8]) => Data (ATuple18 s[a1bu7] a[a1bu8]) 
Show a[a1bu8] => Show (ATuple18 s[a1bu7] a[a1bu8]) 

data ATuple17 s[a1bu5] a[a1bu6] Source

Constructors

ATuple17 !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] !a[a1bu6] 

Instances

Typeable2 ATuple17 
AdaptiveTuple ATuple17 D17 
Functor (ATuple17 D17) 
Applicative (ATuple17 D17) 
Eq a[a1bu6] => Eq (ATuple17 s[a1bu5] a[a1bu6]) 
(Data s[a1bu5], Data a[a1bu6]) => Data (ATuple17 s[a1bu5] a[a1bu6]) 
Show a[a1bu6] => Show (ATuple17 s[a1bu5] a[a1bu6]) 

data ATuple16 s[a1bu3] a[a1bu4] Source

Constructors

ATuple16 !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] !a[a1bu4] 

Instances

Typeable2 ATuple16 
AdaptiveTuple ATuple16 D16 
Functor (ATuple16 D16) 
Applicative (ATuple16 D16) 
Eq a[a1bu4] => Eq (ATuple16 s[a1bu3] a[a1bu4]) 
(Data s[a1bu3], Data a[a1bu4]) => Data (ATuple16 s[a1bu3] a[a1bu4]) 
Show a[a1bu4] => Show (ATuple16 s[a1bu3] a[a1bu4]) 

data ATuple15 s[a1bu1] a[a1bu2] Source

Constructors

ATuple15 !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] !a[a1bu2] 

Instances

Typeable2 ATuple15 
AdaptiveTuple ATuple15 D15 
Functor (ATuple15 D15) 
Applicative (ATuple15 D15) 
Eq a[a1bu2] => Eq (ATuple15 s[a1bu1] a[a1bu2]) 
(Data s[a1bu1], Data a[a1bu2]) => Data (ATuple15 s[a1bu1] a[a1bu2]) 
Show a[a1bu2] => Show (ATuple15 s[a1bu1] a[a1bu2]) 

data ATuple14 s[a1btZ] a[a1bu0] Source

Constructors

ATuple14 !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] !a[a1bu0] 

Instances

Typeable2 ATuple14 
AdaptiveTuple ATuple14 D14 
Functor (ATuple14 D14) 
Applicative (ATuple14 D14) 
Eq a[a1bu0] => Eq (ATuple14 s[a1btZ] a[a1bu0]) 
(Data s[a1btZ], Data a[a1bu0]) => Data (ATuple14 s[a1btZ] a[a1bu0]) 
Show a[a1bu0] => Show (ATuple14 s[a1btZ] a[a1bu0]) 

data ATuple13 s[a1btX] a[a1btY] Source

Constructors

ATuple13 !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] !a[a1btY] 

Instances

Typeable2 ATuple13 
AdaptiveTuple ATuple13 D13 
Functor (ATuple13 D13) 
Applicative (ATuple13 D13) 
Eq a[a1btY] => Eq (ATuple13 s[a1btX] a[a1btY]) 
(Data s[a1btX], Data a[a1btY]) => Data (ATuple13 s[a1btX] a[a1btY]) 
Show a[a1btY] => Show (ATuple13 s[a1btX] a[a1btY]) 

data ATuple12 s[a1btV] a[a1btW] Source

Constructors

ATuple12 !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] !a[a1btW] 

Instances

Typeable2 ATuple12 
AdaptiveTuple ATuple12 D12 
Functor (ATuple12 D12) 
Applicative (ATuple12 D12) 
Eq a[a1btW] => Eq (ATuple12 s[a1btV] a[a1btW]) 
(Data s[a1btV], Data a[a1btW]) => Data (ATuple12 s[a1btV] a[a1btW]) 
Show a[a1btW] => Show (ATuple12 s[a1btV] a[a1btW]) 

data ATuple11 s[a1btT] a[a1btU] Source

Constructors

ATuple11 !a[a1btU] !a[a1btU] !a[a1btU] !a[a1btU] !a[a1btU] !a[a1btU] !a[a1btU] !a[a1btU] !a[a1btU] !a[a1btU] !a[a1btU] 

Instances

Typeable2 ATuple11 
AdaptiveTuple ATuple11 D11 
Functor (ATuple11 D11) 
Applicative (ATuple11 D11) 
Eq a[a1btU] => Eq (ATuple11 s[a1btT] a[a1btU]) 
(Data s[a1btT], Data a[a1btU]) => Data (ATuple11 s[a1btT] a[a1btU]) 
Show a[a1btU] => Show (ATuple11 s[a1btT] a[a1btU]) 

data ATuple10 s[a1btR] a[a1btS] Source

Constructors

ATuple10 !a[a1btS] !a[a1btS] !a[a1btS] !a[a1btS] !a[a1btS] !a[a1btS] !a[a1btS] !a[a1btS] !a[a1btS] !a[a1btS] 

Instances

Typeable2 ATuple10 
AdaptiveTuple ATuple10 D10 
Functor (ATuple10 D10) 
Applicative (ATuple10 D10) 
Eq a[a1btS] => Eq (ATuple10 s[a1btR] a[a1btS]) 
(Data s[a1btR], Data a[a1btS]) => Data (ATuple10 s[a1btR] a[a1btS]) 
Show a[a1btS] => Show (ATuple10 s[a1btR] a[a1btS]) 

data ATuple9 s[a1btP] a[a1btQ] Source

Constructors

ATuple9 !a[a1btQ] !a[a1btQ] !a[a1btQ] !a[a1btQ] !a[a1btQ] !a[a1btQ] !a[a1btQ] !a[a1btQ] !a[a1btQ] 

Instances

Typeable2 ATuple9 
AdaptiveTuple ATuple9 D9 
Functor (ATuple9 D9) 
Applicative (ATuple9 D9) 
Eq a[a1btQ] => Eq (ATuple9 s[a1btP] a[a1btQ]) 
(Data s[a1btP], Data a[a1btQ]) => Data (ATuple9 s[a1btP] a[a1btQ]) 
Show a[a1btQ] => Show (ATuple9 s[a1btP] a[a1btQ]) 

data ATuple8 s[a1btN] a[a1btO] Source

Constructors

ATuple8 !a[a1btO] !a[a1btO] !a[a1btO] !a[a1btO] !a[a1btO] !a[a1btO] !a[a1btO] !a[a1btO] 

Instances

Typeable2 ATuple8 
AdaptiveTuple ATuple8 D8 
Functor (ATuple8 D8) 
Applicative (ATuple8 D8) 
Eq a[a1btO] => Eq (ATuple8 s[a1btN] a[a1btO]) 
(Data s[a1btN], Data a[a1btO]) => Data (ATuple8 s[a1btN] a[a1btO]) 
Show a[a1btO] => Show (ATuple8 s[a1btN] a[a1btO]) 

data ATuple7 s[a1btL] a[a1btM] Source

Constructors

ATuple7 !a[a1btM] !a[a1btM] !a[a1btM] !a[a1btM] !a[a1btM] !a[a1btM] !a[a1btM] 

Instances

Typeable2 ATuple7 
AdaptiveTuple ATuple7 D7 
Functor (ATuple7 D7) 
Applicative (ATuple7 D7) 
Eq a[a1btM] => Eq (ATuple7 s[a1btL] a[a1btM]) 
(Data s[a1btL], Data a[a1btM]) => Data (ATuple7 s[a1btL] a[a1btM]) 
Show a[a1btM] => Show (ATuple7 s[a1btL] a[a1btM]) 

data ATuple6 s[a1btJ] a[a1btK] Source

Constructors

ATuple6 !a[a1btK] !a[a1btK] !a[a1btK] !a[a1btK] !a[a1btK] !a[a1btK] 

Instances

Typeable2 ATuple6 
AdaptiveTuple ATuple6 D6 
Functor (ATuple6 D6) 
Applicative (ATuple6 D6) 
Eq a[a1btK] => Eq (ATuple6 s[a1btJ] a[a1btK]) 
(Data s[a1btJ], Data a[a1btK]) => Data (ATuple6 s[a1btJ] a[a1btK]) 
Show a[a1btK] => Show (ATuple6 s[a1btJ] a[a1btK]) 

data ATuple5 s[a1btH] a[a1btI] Source

Constructors

ATuple5 !a[a1btI] !a[a1btI] !a[a1btI] !a[a1btI] !a[a1btI] 

Instances

Typeable2 ATuple5 
AdaptiveTuple ATuple5 D5 
Functor (ATuple5 D5) 
Applicative (ATuple5 D5) 
Eq a[a1btI] => Eq (ATuple5 s[a1btH] a[a1btI]) 
(Data s[a1btH], Data a[a1btI]) => Data (ATuple5 s[a1btH] a[a1btI]) 
Show a[a1btI] => Show (ATuple5 s[a1btH] a[a1btI]) 

data ATuple4 s[a1btF] a[a1btG] Source

Constructors

ATuple4 !a[a1btG] !a[a1btG] !a[a1btG] !a[a1btG] 

Instances

Typeable2 ATuple4 
AdaptiveTuple ATuple4 D4 
Functor (ATuple4 D4) 
Applicative (ATuple4 D4) 
Eq a[a1btG] => Eq (ATuple4 s[a1btF] a[a1btG]) 
(Data s[a1btF], Data a[a1btG]) => Data (ATuple4 s[a1btF] a[a1btG]) 
Show a[a1btG] => Show (ATuple4 s[a1btF] a[a1btG]) 

data ATuple3 s[a1btD] a[a1btE] Source

Constructors

ATuple3 !a[a1btE] !a[a1btE] !a[a1btE] 

Instances

Typeable2 ATuple3 
AdaptiveTuple ATuple3 D3 
Functor (ATuple3 D3) 
Applicative (ATuple3 D3) 
Eq a[a1btE] => Eq (ATuple3 s[a1btD] a[a1btE]) 
(Data s[a1btD], Data a[a1btE]) => Data (ATuple3 s[a1btD] a[a1btE]) 
Show a[a1btE] => Show (ATuple3 s[a1btD] a[a1btE]) 

data ATuple2 s[a1btB] a[a1btC] Source

Constructors

ATuple2 !a[a1btC] !a[a1btC] 

Instances

Typeable2 ATuple2 
AdaptiveTuple ATuple2 D2 
Functor (ATuple2 D2) 
Applicative (ATuple2 D2) 
Eq a[a1btC] => Eq (ATuple2 s[a1btB] a[a1btC]) 
(Data s[a1btB], Data a[a1btC]) => Data (ATuple2 s[a1btB] a[a1btC]) 
Show a[a1btC] => Show (ATuple2 s[a1btB] a[a1btC]) 

data ATuple1 s[a1btz] a[a1btA] Source

Constructors

ATuple1 !a[a1btA] 

Instances

Typeable2 ATuple1 
AdaptiveTuple ATuple1 D1 
Functor (ATuple1 D1) 
Applicative (ATuple1 D1) 
Eq a[a1btA] => Eq (ATuple1 s[a1btz] a[a1btA]) 
(Data s[a1btz], Data a[a1btA]) => Data (ATuple1 s[a1btz] a[a1btA]) 
Show a[a1btA] => Show (ATuple1 s[a1btz] a[a1btA]) 

reifyTuple4 :: forall el[a1i0D] r[a1i0E]. Int -> [el[a1i0D]] -> (forall c[a1i0F] s[a1i0G]. (AdaptiveTuple c[a1i0F] s[a1i0G], Nat s[a1i0G]) => c[a1i0F] s[a1i0G] el[a1i0D] -> r[a1i0E]) -> r[a1i0E]Source

reifyTuple8 :: forall el[a1i3W] r[a1i3X]. Int -> [el[a1i3W]] -> (forall c[a1i3Y] s[a1i3Z]. (AdaptiveTuple c[a1i3Y] s[a1i3Z], Nat s[a1i3Z]) => c[a1i3Y] s[a1i3Z] el[a1i3W] -> r[a1i3X]) -> r[a1i3X]Source

reifyTuple12 :: forall el[a1i8Z] r[a1i90]. Int -> [el[a1i8Z]] -> (forall c[a1i91] s[a1i92]. (AdaptiveTuple c[a1i91] s[a1i92], Nat s[a1i92]) => c[a1i91] s[a1i92] el[a1i8Z] -> r[a1i90]) -> r[a1i90]Source

reifyTuple16 :: forall el[a1ifM] r[a1ifN]. Int -> [el[a1ifM]] -> (forall c[a1ifO] s[a1ifP]. (AdaptiveTuple c[a1ifO] s[a1ifP], Nat s[a1ifP]) => c[a1ifO] s[a1ifP] el[a1ifM] -> r[a1ifN]) -> r[a1ifN]Source

reifyTuple20 :: forall el[a1ioj] r[a1iok]. Int -> [el[a1ioj]] -> (forall c[a1iol] s[a1iom]. (AdaptiveTuple c[a1iol] s[a1iom], Nat s[a1iom]) => c[a1iol] s[a1iom] el[a1ioj] -> r[a1iok]) -> r[a1iok]Source