Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Parser for the intnam.par
file.
- type INTERVAL = (Rational, String)
- type INTNAM = (Int, [INTERVAL])
- intnam_search_ratio :: INTNAM -> Rational -> Maybe INTERVAL
- intnam_search_description_ci :: INTNAM -> String -> [INTERVAL]
- parse_intnam_entry :: [String] -> INTERVAL
- parse_intnam :: [String] -> INTNAM
- load_intnam :: IO INTNAM
Documentation
intnam_search_ratio :: INTNAM -> Rational -> Maybe INTERVAL Source #
Lookup ratio in INTNAM
.
db <- load_intnam intnam_search_ratio db (3/2) == Just (3/2,"perfect fifth") intnam_search_ratio db (2/3) == Nothing intnam_search_ratio db (4/3) == Just (4/3,"perfect fourth") map (intnam_search_ratio db) [3/2,4/3,7/4,7/6,9/7,12/7,14/9] intnam_search_ratio db (31/16) == Just (31/16,"31st harmonic")
intnam_search_description_ci :: INTNAM -> String -> [INTERVAL] Source #
Lookup interval name in INTNAM
, ci = case-insensitive.
db <- load_intnam intnam_search_description_ci db "didymus"
Parser
parse_intnam_entry :: [String] -> INTERVAL Source #
parse_intnam :: [String] -> INTNAM Source #
IO
load_intnam :: IO INTNAM Source #
parse_intnam
of load_dist_file
of "intnam.par".
intnam <- load_intnam fst intnam == length (snd intnam)