Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Tom Johnson. Other Harmony: Beyond Tonal and Atonal. Editions 75, 2014.
Synopsis
- type Z12 = Int8
- dif :: Num a => (a, a) -> a
- absdif :: Num a => (a, a) -> a
- i_to_ic :: (Num a, Ord a) => a -> a
- p2_and :: (t -> u -> Bool) -> (t -> u -> Bool) -> t -> u -> Bool
- doi :: Eq t => [t] -> [t] -> Int
- doi_of :: Eq t => Int -> [t] -> [t] -> Bool
- loc_dif :: Num t => [t] -> [t] -> t
- loc_dif_of :: (Eq t, Num t) => t -> [t] -> [t] -> Bool
- loc_dif_in :: (Eq t, Num t) => [t] -> [t] -> [t] -> Bool
- loc_dif_n :: (Eq t, Num i) => [t] -> [t] -> i
- loc_dif_n_of :: Eq t => Int -> [t] -> [t] -> Bool
- min_vl :: (Num a, Ord a) => [a] -> [a] -> a
- min_vl_of :: (Num a, Ord a) => a -> [a] -> [a] -> Bool
- min_vl_in :: (Num a, Ord a) => [a] -> [a] -> [a] -> Bool
- combinations2 :: Ord t => [t] -> [(t, t)]
- set_pp :: Show t => [t] -> String
- tto_rel_to :: Integral t => Z t -> [t] -> [t] -> [Tto t]
- set_pp_tto_rel :: (Integral t, Show t) => Z t -> [t] -> [t] -> String
- m_get :: Ord k => Map k v -> k -> v
- m_doi_of :: Map Int [Z12] -> Int -> Int -> Int -> Bool
- e_add_id :: k -> [(t, u)] -> [((k, t), (k, u))]
- gen_edges :: (t -> t -> Bool) -> [t] -> [(t, t)]
- gen_u_edges :: Ord a => (a -> a -> Bool) -> [a] -> [(a, a)]
- oh_def_opt :: [Dot_Meta_Attr]
- gen_graph :: Ord v => [Dot_Meta_Attr] -> Graph_Pp v e -> [Edge_Lbl v e] -> [String]
- gen_graph_ul :: Ord v => [Dot_Meta_Attr] -> (v -> String) -> [Edge v] -> [String]
- gen_graph_ul_ty :: Ord v => String -> (v -> String) -> [Edge v] -> [String]
- gen_flt_graph_pp :: Ord t => [Dot_Meta_Attr] -> ([t] -> String) -> ([t] -> [t] -> Bool) -> [[t]] -> [String]
- gen_flt_graph :: (Ord t, Show t) => [Dot_Meta_Attr] -> ([t] -> [t] -> Bool) -> [[t]] -> [String]
- circ_5 :: Integral a => Int -> a -> [a]
- all_pairs :: [t] -> [u] -> [(t, u)]
- adj :: [t] -> [(t, t)]
- adj_cyc :: [t] -> [(t, t)]
- p12_c5_eset :: [(Int, Int)]
- e_add_label :: (Edge v -> l) -> [Edge v] -> [Edge_Lbl v l]
- p12_c5_gr :: [String]
- p12_euler_plane :: Euler_Plane Rational
- p12_euler_plane_gr :: [String]
- p14_eset :: ([(Int, Int)], [(Int, Int)], [(Int, Int)])
- p14_mk_e :: [(Int, Int)] -> [(Key, Key)]
- p14_edges_u :: [(Key, Key)]
- p14_edges :: [(Key, Key)]
- p14_mk_gr :: [Dot_Meta_Attr] -> [Edge Key] -> [String]
- p14_gr_u :: [String]
- p14_gr :: [String]
- p14_gen_tonnetz_n :: Int -> [Int] -> [Int] -> [Int]
- p14_gen_tonnetz_e :: Int -> [Int] -> [Int] -> [((Int, Int), Int)]
- p14_nrt_gr :: [String]
- p31_f_4_22 :: [Z12]
- p31_e_set :: [([Z12], [Z12])]
- p31_gr :: [String]
- p114_f_3_7 :: [Z12]
- p114_mk_o :: Show t => t -> [Dot_Meta_Attr]
- p114_mk_gr :: Double -> ([Z12] -> [Z12] -> Bool) -> [String]
- p114_f37_sc_pp :: [Z12] -> String
- p114_g0 :: [String]
- p114_g1 :: [String]
- p114_gr_set :: [(String, [String])]
- p125_gr :: [String]
- p131_gr :: [String]
- p148_mk_gr :: ([Int] -> [Int] -> Bool) -> [String]
- p148_gr_set :: [(String, [String])]
- p162_ch :: [[Int]]
- p162_e :: [Edge [Int]]
- p162_gr :: [String]
- p172_nd_map :: Map Int [Z12]
- p172_nd_e_set :: [(Int, Int)]
- p172_nd_e_set_alt :: [Edge Int]
- p172_gr :: Gr () ()
- p172_set_pp :: Int -> String
- p172_all_cyc :: ([[Int]], [[Int]])
- p172_cyc0 :: [[Int]]
- p172_g1 :: [String]
- p172_g2 :: [String]
- p172_g3 :: [String]
- tto_tn :: Integral t => t -> Tto t
- tto_tni :: Integral t => t -> Tto t
- gen_tto_alt_seq :: Integral t => (t -> Tto t, t -> Tto t) -> Int -> t -> t -> t -> [Tto t]
- gen_tni_seq :: Integral t => Int -> t -> t -> t -> [Tto t]
- p172_c4 :: [[Tto Int]]
- tto_seq_edges :: (Show t, Num t, Eq t) => [[Tto t]] -> [(String, String)]
- p172_g4 :: [String]
- p172_gr_set :: [(String, [String])]
- partition_ic :: (Num t, Ord t, Show t) => t -> [t] -> ([t], [t])
- p177_gr_set :: [(String, [String])]
- type SC = [Int]
- type PCSET = [Int]
- ait :: [SC]
- mk_bridge :: SC -> PCSET -> PCSET -> [PCSET]
- mk_bridge_set :: [SC] -> PCSET -> PCSET -> [PCSET]
- mk_bridge_set_seq :: [SC] -> [PCSET] -> [[PCSET]]
- p178_i6_seq :: [PCSET]
- p178_ch :: [(PCSET, [PCSET], PCSET)]
- type ID = Char
- p178_e :: [((ID, PCSET), (ID, PCSET))]
- p178_gr_1 :: [String]
- p178_gr_2 :: [String]
- p196_gr :: [String]
- type SET = [Int]
- type E = (SET, SET)
- bd_9_3_2_12 :: [SET]
- p201_mk_e :: [Int] -> [E]
- p201_e :: [[E]]
- p201_o :: [Dot_Meta_Attr]
- p201_gr_set :: [[String]]
- p201_gr_join :: [String]
- bd_9_3_2_34 :: [SET]
- p205_mk_e :: [Int] -> [E]
- p205_gr :: [String]
- wr_graphs :: FilePath -> IO ()
Common
loc_dif_n :: (Eq t, Num i) => [t] -> [t] -> i Source #
The number of places that are, pointwise, not equal.
loc_dif_n "test" "pest" == 1
combinations2 :: Ord t => [t] -> [(t, t)] Source #
Map
Edge
e_add_id :: k -> [(t, u)] -> [((k, t), (k, u))] Source #
Add k as prefix to both left and right hand sides of edge.
gen_u_edges :: Ord a => (a -> a -> Bool) -> [a] -> [(a, a)] Source #
Graph
oh_def_opt :: [Dot_Meta_Attr] Source #
gen_graph_ul :: Ord v => [Dot_Meta_Attr] -> (v -> String) -> [Edge v] -> [String] Source #
gen_flt_graph_pp :: Ord t => [Dot_Meta_Attr] -> ([t] -> String) -> ([t] -> [t] -> Bool) -> [[t]] -> [String] Source #
gen_flt_graph :: (Ord t, Show t) => [Dot_Meta_Attr] -> ([t] -> [t] -> Bool) -> [[t]] -> [String] Source #
P.12
p12_c5_eset :: [(Int, Int)] Source #
p12_euler_plane_gr :: [String] Source #
P.14
p14_edges_u :: [(Key, Key)] Source #
p14_nrt_gr :: [String] Source #
P.31
p31_f_4_22 :: [Z12] Source #
P.114
p114_f_3_7 :: [Z12] Source #
p114_mk_o :: Show t => t -> [Dot_Meta_Attr] Source #
p114_f37_sc_pp :: [Z12] -> String Source #
p114_gr_set :: [(String, [String])] Source #
P.125
P.131
P.148
p148_gr_set :: [(String, [String])] Source #
P.162
P.172
p172_nd_e_set :: [(Int, Int)] Source #
p172_nd_e_set_alt :: [Edge Int] Source #
p172_set_pp :: Int -> String Source #
p172_all_cyc :: ([[Int]], [[Int]]) Source #
gen_tni_seq :: Integral t => Int -> t -> t -> t -> [Tto t] Source #
k is length of the T & I sequences, n is the T & I sequence interval, m is the interval between the T & I sequence.
r = ["T0 T5I T3 T8I T6 T11I T9 T2I","T1 T6I T4 T9I T7 T0I T10 T3I"] map (unwords . map T.tto_pp . gen_tni_seq 4 3 5) [0,1] == r
p172_gr_set :: [(String, [String])] Source #
P.177
p177_gr_set :: [(String, [String])] Source #
P.178
mk_bridge :: SC -> PCSET -> PCSET -> [PCSET] Source #
List of pcsets s where prime(p+s)=r and prime(q+s)=r. #p and #q must be equal, and less than #r.
mk_bridge (T.sc "4-Z15") [0,6] [1,7] == [[2,5],[8,11]] mk_bridge (T.sc "4-Z29") [0,6] [1,7] == [[2,11],[5,8]]
p178_i6_seq :: [PCSET] Source #
p178_e :: [((ID, PCSET), (ID, PCSET))] Source #
Add ID
to vertices, the 2,11
the is between 0,6
and 1,7
is not the same 2,11
that is between 3,9
and 4,10
.
P.196
P.201
bd_9_3_2_12 :: [SET] Source #
p201_o :: [Dot_Meta_Attr] Source #
p201_gr_set :: [[String]] Source #
p201_gr_join :: [String] Source #
P.205
bd_9_3_2_34 :: [SET] Source #