hmt-0.15: Haskell Music Theory

Safe HaskellSafe
LanguageHaskell98

Music.Theory.Tuple

Contents

Description

Tuple functions.

Uniform tuples have types T2, T3 etc. and functions names are prefixed t2_ etc.

Heterogenous tuples (products) are prefixed p2_ etc.

Synopsis

P2 (2 product)

p2_swap :: (s, t) -> (t, s) #

T2 (2-tuple, regular)

type T2 a = (a, a) #

Uniform two-tuple.

t2 :: [t] -> T2 t #

t2_list :: T2 a -> [a] #

t2_swap :: T2 t -> T2 t #

t2_map :: (p -> q) -> T2 p -> T2 q #

t2_zipWith :: (p -> q -> r) -> T2 p -> T2 q -> T2 r #

t2_infix :: (a -> a -> b) -> T2 a -> b #

t2_join :: Monoid m => T2 m -> m #

Infix mappend.

t2_join ([1,2],[3,4]) == [1,2,3,4]

t2_concat :: [T2 [a]] -> T2 [a] #

t2_sort :: Ord t => (t, t) -> (t, t) #

P3 (3 product)

p3_rotate_left :: (s, t, u) -> (t, u, s) #

Left rotation.

p3_rotate_left (1,2,3) == (2,3,1)

p3_fst :: (a, b, c) -> a #

p3_snd :: (a, b, c) -> b #

p3_third :: (a, b, c) -> c #

T3 (3 triple, regular)

type T3 a = (a, a, a) #

t3 :: [t] -> T3 t #

t3_rotate_left :: T3 t -> T3 t #

t3_fst :: T3 t -> t #

t3_snd :: T3 t -> t #

t3_third :: T3 t -> t #

t3_map :: (p -> q) -> T3 p -> T3 q #

t3_zipWith :: (p -> q -> r) -> T3 p -> T3 q -> T3 r #

t3_list :: T3 a -> [a] #

t3_infix :: (a -> a -> a) -> T3 a -> a #

t3_join :: T3 [a] -> [a] #

P4 (4 product)

p4_fst :: (a, b, c, d) -> a #

p4_snd :: (a, b, c, d) -> b #

p4_third :: (a, b, c, d) -> c #

p4_fourth :: (a, b, c, d) -> d #

T4 (4-tuple, regular)

type T4 a = (a, a, a, a) #

t4 :: [t] -> T4 t #

t4_list :: T4 t -> [t] #

t4_fst :: T4 t -> t #

t4_snd :: T4 t -> t #

t4_third :: T4 t -> t #

t4_fourth :: T4 t -> t #

t4_map :: (p -> q) -> T4 p -> T4 q #

t4_zipWith :: (p -> q -> r) -> T4 p -> T4 q -> T4 r #

t4_infix :: (a -> a -> a) -> T4 a -> a #

t4_join :: T4 [a] -> [a] #

P5 (5 product)

p5_fst :: (a, b, c, d, e) -> a #

p5_snd :: (a, b, c, d, e) -> b #

p5_third :: (a, b, c, d, e) -> c #

p5_fourth :: (a, b, c, d, e) -> d #

p5_fifth :: (a, b, c, d, e) -> e #

T5 (5-tuple, regular)

type T5 a = (a, a, a, a, a) #

t5 :: [t] -> T5 t #

t5_list :: T5 t -> [t] #

t5_map :: (p -> q) -> T5 p -> T5 q #

t5_fst :: T5 t -> t #

t5_snd :: T5 t -> t #

t5_fourth :: T5 t -> t #

t5_fifth :: T5 t -> t #

t5_infix :: (a -> a -> a) -> T5 a -> a #

t5_join :: T5 [a] -> [a] #

P6 (6 product)

p6_fst :: (a, b, c, d, e, f) -> a #

p6_snd :: (a, b, c, d, e, f) -> b #

p6_third :: (a, b, c, d, e, f) -> c #

p6_fourth :: (a, b, c, d, e, f) -> d #

p6_fifth :: (a, b, c, d, e, f) -> e #

p6_sixth :: (a, b, c, d, e, f) -> f #

T6 (6-tuple, regular)

type T6 a = (a, a, a, a, a, a) #

t6 :: [t] -> T6 t #

t6_list :: T6 t -> [t] #

t6_map :: (p -> q) -> T6 p -> T6 q #

T7 (7-tuple, regular)

type T7 a = (a, a, a, a, a, a, a) #

t7_list :: T7 t -> [t] #

t7_map :: (p -> q) -> T7 p -> T7 q #

T8 (8-tuple, regular)

type T8 a = (a, a, a, a, a, a, a, a) #

t8_list :: T8 t -> [t] #

t8_map :: (p -> q) -> T8 p -> T8 q #

T9 (9-tuple, regular)

type T9 a = (a, a, a, a, a, a, a, a, a) #

t9_list :: T9 t -> [t] #

t9_map :: (p -> q) -> T9 p -> T9 q #