Kulitta-2.2.1: Library for automated composition and musical learning

Safe HaskellSafe
LanguageHaskell98

Kulitta.Learning.Parser

Documentation

type Rule a = (a, [a]) Source #

type Partial a = [Rule a] Source #

type Parse a = [Partial a] Source #

findMatches :: Eq a => [Rule a] -> [a] -> [(a, [a])] Source #

recParse1 :: Eq a => [Rule a] -> [a] -> [Partial a] Source #

okParse :: Eq a => [a] -> [(a, [a])] -> Bool Source #

nextLevel :: Eq a => [Rule a] -> Partial a -> [Partial a] Source #

iterParseStep :: Eq a => [a] -> [Rule a] -> Parse a -> [Parse a] Source #

isStart :: Eq a => a -> [Rule a] -> Bool Source #

type StopFun a = Parse a -> Bool Source #

noReps :: Eq a => [a] -> Bool Source #

isNew :: Eq a => [[a]] -> [a] -> Bool Source #

filterUniques :: Eq a => [[a]] -> [[a]] Source #

removeRedundants :: Eq a => [[a]] -> [[a]] Source #

iterParse :: Eq a => StopFun a -> [a] -> [Rule a] -> [Parse a] -> Int -> Int -> [Parse a] Source #

parse :: Eq a => StopFun a -> [Rule a] -> [a] -> Int -> [Parse a] Source #

iterParse2 :: Eq a => StopFun a -> [a] -> [Rule a] -> [Parse a] -> Int -> Int -> [Parse a] Source #

parseAll :: Eq a => StopFun a -> [Rule a] -> [a] -> Int -> [Parse a] Source #

printParse :: Show a => Parse a -> IO () Source #