tidal-1.4.9: Pattern language for improvised music
Safe HaskellNone
LanguageHaskell2010

Sound.Tidal.ParseBP

Synopsis

Documentation

data TidalParseError Source #

Constructors

TidalParseError 

Fields

Instances

Instances details
Eq TidalParseError Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Show TidalParseError Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

showsPrec :: Int -> TidalParseError -> ShowS

show :: TidalParseError -> String #

showList :: [TidalParseError] -> ShowS

Exception TidalParseError Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

toException :: TidalParseError -> SomeException

fromException :: SomeException -> Maybe TidalParseError

displayException :: TidalParseError -> String

type MyParser = Parsec String Int Source #

data TPat a Source #

AST representation of patterns

Constructors

TPat_Atom (Maybe ((Int, Int), (Int, Int))) a 
TPat_Fast (TPat Time) (TPat a) 
TPat_Slow (TPat Time) (TPat a) 
TPat_DegradeBy Int Double (TPat a) 
TPat_CycleChoose Int [TPat a] 
TPat_Euclid (TPat Int) (TPat Int) (TPat Int) (TPat a) 
TPat_Stack [TPat a] 
TPat_Polyrhythm (Maybe (TPat Rational)) [TPat a] 
TPat_Seq [TPat a] 
TPat_Silence 
TPat_Foot 
TPat_Elongate Rational (TPat a) 
TPat_Repeat Int (TPat a) 
TPat_EnumFromTo (TPat a) (TPat a) 

Instances

Instances details
Show a => Show (TPat a) Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

showsPrec :: Int -> TPat a -> ShowS

show :: TPat a -> String #

showList :: [TPat a] -> ShowS

resolve_tpat :: (Enumerable a, Parseable a) => TPat a -> (Rational, Pattern a) Source #

resolve_seq :: (Enumerable a, Parseable a) => [TPat a] -> (Rational, Pattern a) Source #

resolve_size :: [TPat a] -> [(Rational, TPat a)] Source #

parseBP :: (Enumerable a, Parseable a) => String -> Either ParseError (Pattern a) Source #

parseBP_E :: (Enumerable a, Parseable a) => String -> Pattern a Source #

parseTPat :: Parseable a => String -> Either ParseError (TPat a) Source #

class Parseable a where Source #

Methods

tPatParser :: MyParser (TPat a) Source #

doEuclid :: Pattern Int -> Pattern Int -> Pattern Int -> Pattern a -> Pattern a Source #

Instances

Instances details
Parseable Bool Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

tPatParser :: MyParser (TPat Bool) Source #

doEuclid :: Pattern Int -> Pattern Int -> Pattern Int -> Pattern Bool -> Pattern Bool Source #

Parseable Char Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

tPatParser :: MyParser (TPat Char) Source #

doEuclid :: Pattern Int -> Pattern Int -> Pattern Int -> Pattern Char -> Pattern Char Source #

Parseable Double Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

tPatParser :: MyParser (TPat Double) Source #

doEuclid :: Pattern Int -> Pattern Int -> Pattern Int -> Pattern Double -> Pattern Double Source #

Parseable Int Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

tPatParser :: MyParser (TPat Int) Source #

doEuclid :: Pattern Int -> Pattern Int -> Pattern Int -> Pattern Int -> Pattern Int Source #

Parseable Integer Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

tPatParser :: MyParser (TPat Integer) Source #

doEuclid :: Pattern Int -> Pattern Int -> Pattern Int -> Pattern Integer -> Pattern Integer Source #

Parseable Rational Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

tPatParser :: MyParser (TPat Rational) Source #

doEuclid :: Pattern Int -> Pattern Int -> Pattern Int -> Pattern Rational -> Pattern Rational Source #

Parseable String Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

tPatParser :: MyParser (TPat String) Source #

doEuclid :: Pattern Int -> Pattern Int -> Pattern Int -> Pattern String -> Pattern String Source #

Parseable ColourD Source # 
Instance details

Defined in Sound.Tidal.ParseBP

class Enumerable a where Source #

Methods

fromTo :: a -> a -> Pattern a Source #

fromThenTo :: a -> a -> a -> Pattern a Source #

Instances

Instances details
Enumerable Bool Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

fromTo :: Bool -> Bool -> Pattern Bool Source #

fromThenTo :: Bool -> Bool -> Bool -> Pattern Bool Source #

Enumerable Char Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

fromTo :: Char -> Char -> Pattern Char Source #

fromThenTo :: Char -> Char -> Char -> Pattern Char Source #

Enumerable Double Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

fromTo :: Double -> Double -> Pattern Double Source #

fromThenTo :: Double -> Double -> Double -> Pattern Double Source #

Enumerable Int Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

fromTo :: Int -> Int -> Pattern Int Source #

fromThenTo :: Int -> Int -> Int -> Pattern Int Source #

Enumerable Integer Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

fromTo :: Integer -> Integer -> Pattern Integer Source #

fromThenTo :: Integer -> Integer -> Integer -> Pattern Integer Source #

Enumerable Rational Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

fromTo :: Rational -> Rational -> Pattern Rational Source #

fromThenTo :: Rational -> Rational -> Rational -> Pattern Rational Source #

Enumerable String Source # 
Instance details

Defined in Sound.Tidal.ParseBP

Methods

fromTo :: String -> String -> Pattern String Source #

fromThenTo :: String -> String -> String -> Pattern String Source #

Enumerable ColourD Source # 
Instance details

Defined in Sound.Tidal.ParseBP

enumFromTo' :: (Ord a, Enum a) => a -> a -> Pattern a Source #

enumFromThenTo' :: (Ord a, Enum a, Num a) => a -> a -> a -> Pattern a Source #

type ColourD = Colour Double Source #

lexer :: GenTokenParser String u Identity Source #

symbol :: String -> MyParser String Source #

naturalOrFloat :: MyParser (Either Integer Double) Source #

data Sign Source #

Constructors

Positive 
Negative 

applySign :: Num a => Sign -> a -> a Source #

parseRhythm :: Parseable a => MyParser (TPat a) -> String -> Either ParseError (TPat a) Source #

pSequence :: Parseable a => MyParser (TPat a) -> GenParser Char Int (TPat a) Source #

parseIntNote :: Integral i => MyParser i Source #

pIntegral :: Integral a => MyParser (TPat a) Source #

parseChord :: (Enum a, Num a) => MyParser [a] Source #

parseNote :: Num a => MyParser a Source #

fromNote :: Num a => Pattern String -> Pattern a Source #

pE :: TPat a -> MyParser (TPat a) Source #

pRatio :: MyParser Rational Source #

pRatioChar :: Fractional a => MyParser a Source #

Orphan instances

(Enumerable a, Parseable a) => IsString (Pattern a) Source # 
Instance details

Methods

fromString :: String -> Pattern a