Rlang-QQ-0.1.1.0: quasiquoter for inline-R code

Safe HaskellNone

HListExtras

Synopsis

Documentation

data FApply Source

Constructors

FApply 

Instances

(ApplyAB f a b, ~ * ab (a -> b)) => ApplyAB FApply f ab 

class HReplicate2 n e l | n e -> l, l -> n whereSource

Methods

hReplicate2 :: Proxy n -> e -> HList lSource

Instances

HReplicate2 HZero e ([] *) 
HReplicate2 n e es' => HReplicate2 (HSucc n) e (: * e es') 

hReplicateApp :: (SameLength [*] [*] l as', SameLength [*] [*] as' l, HMapAux FApply as' l, HReplicate2 (HLength l) e as') => e -> HList lSource

hSplitAt :: HSplitAtAux n l ([] *) a b => Proxy HNat n -> HList l -> (HList a, HList b)Source

splitAt

class HSplitAtAux n l a0 a b | n -> l a0 a b whereSource

Methods

hSplitAtAux :: Proxy n -> HList l -> HList a0 -> (HList a, HList b)Source

Instances

(~ [*] l b, ~ [*] a (HRevApp a0 ([] *))) => HSplitAtAux HZero l a0 a b 
(~ [*] (: * x xs) ls, ~ [*] acc' (: * x acc), HSplitAtAux n xs acc' a b) => HSplitAtAux (HSucc n) ls acc a b 

type family HEnumFromTo from to :: [HNat]Source

n1 .. n1 + n2

class (SameLength a b, SameLength b a) => HReverse2 a b | a -> b, b -> a whereSource

Methods

hReverse2 :: HList a -> HList bSource

Instances

(SameLength [*] [*] a b, SameLength [*] [*] b a, ~ [*] (HRevApp a ([] *)) b, ~ [*] (HRevApp b ([] *)) a) => HReverse2 a b 

class HMap1 f a b whereSource

Methods

hMap1 :: f -> HList a -> HList bSource

Instances

~ [*] a ([] *) => HMap1 f a ([] *) 
(ApplyAB f a b, ~ [*] (: * a as) aas, HMap1 f as bs) => HMap1 f aas (: * b bs) 

class HMap2 f a b whereSource

Methods

hMap2 :: f -> HList a -> HList bSource

Instances

~ [*] a ([] *) => HMap2 f ([] *) a 
(ApplyAB f a b, ~ [*] (: * b bs) bbs, HMap2 f as bs) => HMap2 f (: * a as) bbs