dobutokO-poetry-general-languages-0.1.0.0: Helps to order the 7 or less words to obtain somewhat suitable for poetry or music text

Copyright(c) OleksandrZhabenko 2020
LicenseMIT
StabilityExperimental
Safe HaskellNone
LanguageHaskell2010

DobutokO.Poetry.Languages.General

Description

Maintainer : olexandr543@yahoo.com

Helps to order the 7 or less words (or their concatenations) to obtain (to some extent) suitable for poetry or music text. The functions can only print the needed strings or also return tha data needed to interconnect and link it with other functions. There is also a possibility to use prepending and postpending String in the PreApp data type so that they are added respectively to the beginning or to the end of the strings. For all the used conversion functions of the type h :: String -> Vector String it is important that they are stable for the repeated application (their result after the first application cannon be changed by the rules in the function into new variants). Otherwise, the recursive scheme of the functions in the module will lead to wrong results. So the conversion function should work the following way (xs denotes a word in the language) in GHCi:

let v = h xs
let ys = concat . toList $ v 
let v2 = h ys
v == v2
True

Or in the other words, for the single word, h . concat . toList . h = h;

Synopsis

Documentation

uniqInMaxPoeticalN :: Int -> Vector ([Int] -> Int) -> UniqG -> IO UniqG Source #

Prints the maximum element with respect of the k norms (the most significant of which is the rightest one, then to the left less significant etc.), which is given as the first argument. The last norm is the first element in the Vector of norms ([Int] -> Int).

inner1 :: Int -> Vector ([Int] -> Int) -> UniqG -> IO ([Int], UniqG) Source #

Is used internally in the uniqInMaxPoeticalN to reduce duplication.

uniqInMaxPoeticalNL :: Vector ([Int] -> Int) -> UniqG -> IO UniqG Source #

Variant of uniqInMaxPoticalN where all the elements in the norms Vector are used as norms from right to left.

uniqInMaxPoeticalNLine :: Int -> Vector ([Int] -> Int) -> UniqG -> IO UniqG Source #

Generalized variant of the uniqInMaxPoeticalN with usage of the several norms and all the information is printed on the same line.

inner2 :: Int -> Vector ([Int] -> Int) -> UniqG -> IO ([Int], UniqG) Source #

Is used internally in the uniqInMaxPoeticalNLine to reduce duplication.

uniqInMaxPoeticalNLineL :: Vector ([Int] -> Int) -> UniqG -> IO UniqG Source #

Variant of uniqInMaxPoticalNLine where all the elements in the norms Vector are used as norms from right to left.

uniqNPoeticalN :: Int -> Int -> Vector ([Int] -> Int) -> UniqG -> IO () Source #

Prints n (given as the first argument) maximum elements with respect to the several norms (their quantity is the second argument) starting from the right to the left. The last norm is the first element in the Vector of norms ([Int] -> Int).

uniqNPoeticalNL :: Int -> Vector ([Int] -> Int) -> UniqG -> IO () Source #

Variant of uniqNPoeticalN where all the elements in the norms Vector are used as norms from right to left.

uniqNPoeticalNLine :: Int -> Int -> Vector ([Int] -> Int) -> UniqG -> IO () Source #

Variant of the uniqNPoeticalN with its output being printed on the same line.

uniqNPoeticalNLineL :: Int -> Vector ([Int] -> Int) -> UniqG -> IO () Source #

Variant of uniqNPoeticalNLine where all the elements in the norms Vector are used as norms from right to left.

uniqNPoeticalVN :: Int -> Int -> Vector ([Int] -> Int) -> UniqG -> IO UniqG Source #

Prints n (given as the first argument) maximum elements with respect to the several norms (their quantity is the second argument) starting from the right to the left. The last norm is the first element in the Vector of norms ([Int] -> Int). Contrary to its pair function uniqNPoeticalN returns then the rest of the given Vector Uniqueness after filtering the printed elements String.

uniqNPoeticalVNL :: Int -> Vector ([Int] -> Int) -> UniqG -> IO UniqG Source #

Variant of uniqNPoeticalVN where all the elements in the norms Vector are used as norms from right to left.

uniqMaxPoeticalGNV :: Int -> Vector ([Int] -> Int) -> UniqG -> Uniqueness Source #

The function evaluates the Vector of Uniqueness elements to retrieve the possibly maximum element in it with respect to the order and significance (principality) of the norms being evaluated. The most significant and principal is the norm, which index in the Vector of them is the Int argument of the function minus 1, then less significant is the next to the left norm and so on. Is similar to uniqMaxPoeticalGN function.

uniqMaxPoeticalGNVL :: Vector ([Int] -> Int) -> UniqG -> Uniqueness Source #

Variant of uniqMaxPoeticalGNV where all the elements in the norms Vector are used as norms from right to left.

uniquenessVariantsGN :: [String] -> (String -> Vector String) -> Preapp -> Vector ([Int] -> Int) -> String -> Vector Uniqueness Source #

Returns the Vector of all possible permutations of the String that represent the text and the linked information with them for analysis with usage of several norms (instead of one). They constitute a Vector of functions norm :: [Int] -> Int. So the inner vector in the each resulting Uniqueness has the same length as the vector of norms. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqMaxPoeticalGN :: [String] -> (String -> Vector String) -> Preapp -> Int -> Vector ([Int] -> Int) -> String -> Uniqueness Source #

A variant of the uniqMaxPoetical2GN with the several norms given as a Vector of functions and an Int parameter. The function evaluates the generated Vector of Uniqueness elements to retrieve the possibly maximum element in it with respect to the order and significance (principality) of the norms being evaluated. The most significant and principal is the norm, which index in the Vector of them is the Int argument of the function minus 1, then less significant is the next to the left norm and so on. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqMaxPoeticalGNL :: [String] -> (String -> Vector String) -> Preapp -> Vector ([Int] -> Int) -> String -> Uniqueness Source #

Variant of uniqMaxPoeticalGN where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalG :: [String] -> (String -> Vector String) -> Preapp -> Int -> ([Int] -> Int) -> String -> IO () Source #

A variant of the uniqNPoeticalGN with only one norm. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniq10PoeticalG :: [String] -> (String -> Vector String) -> Preapp -> ([Int] -> Int) -> String -> IO () Source #

A variant of the uniqNPoeticalG function with the n equal to 10. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniq10Poetical4 :: [String] -> (String -> Vector String) -> Preapp -> String -> IO () Source #

A variant of uniq10PoeticalG with the norm4 applied. The list is (according to some model, not universal, but a reasonable one in the most cases) the most suitable for intonation changing and, therefore, for the accompaniment of the highly changable or variative melody. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniq10Poetical5 :: [String] -> (String -> Vector String) -> Preapp -> String -> IO () Source #

A variant of uniq10PoeticalG with the norm5 applied. The list is (according to some model, not universal, but a reasonable one in the most cases) the most suitable for rhythmic speech and two-syllabilistic-based poetry. Therefore, it can be used to create a poetic composition or to emphasize some thoughts. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalGN :: [String] -> (String -> Vector String) -> Preapp -> Int -> Int -> Vector ([Int] -> Int) -> String -> IO () Source #

A variant of the uniqNPoetical2GN with the conversion ("uniquenessPeriods" function) function uniquenessPeriods. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalGNL :: [String] -> (String -> Vector String) -> Preapp -> Int -> Vector ([Int] -> Int) -> String -> IO () Source #

Variant of uniqNPoeticalGN where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalVGN :: [String] -> (String -> Vector String) -> Preapp -> Int -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG Source #

Generalized variant of the uniqNPoeticalVG with usage of several norms. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. To specify whether the function returns also data suitable for usage with other functions or just usable mostly for printing it uses also a before String argument also UniqG one with the U data constructor corresponding to the printing (mostly) and UL to possible reusage of data. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalVGNL :: [String] -> (String -> Vector String) -> Preapp -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG Source #

Variant of uniqNPoeticalVGN where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. To specify whether the function returns also data suitable for usage with other functions or just usable mostly for printing it uses also a before String argument also UniqG one with the U data constructor corresponding to the printing (mostly) and UL to possible reusage of data. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqMaxPoetical2GN :: [String] -> (String -> Vector String) -> Preapp -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> Uniqueness Source #

The function evaluates the generated Vector of Uniqueness elements to retrieve the possibly maximum element in it with respect to the order and significance (principality) of the norms being evaluated. The most significant and principal is the norm, which index in the Vector of them is the Int argument of the function minus 1, then less significant is the next to the left norm and so on. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqMaxPoetical2GNL :: [String] -> (String -> Vector String) -> Preapp -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> Uniqueness Source #

Variant of uniqMaxPoetical2GN where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoetical2GN :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> IO () Source #

Prints n (given as the first Int argument) maximum elements with respect to the several norms (their quantity is the second Int argument) starting from the right to the left. The last norm is the first element in the Vector of norms ([Int] -> Int). Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text.

uniqNPoetical2GNL :: Preapp -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> IO () Source #

Variant of uniqNPoetical2GN where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text.

uniqNPoetical2GNLine :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> IO () Source #

Generalized variant of the uniqNPoeticalG with usage of the several norms, but prints its output on the same line. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text.

uniqNPoetical2GNLineL :: Preapp -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> IO () Source #

Variant of uniqNPoetical2GNLine where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text.

uniqNPoetical2VGN :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> UniqG -> String -> IO UniqG Source #

Prints n (given as the first Int argument) maximum elements with respect to the several norms (their quantity is the second Int argument) starting from the right to the left. The last norm is the first element in the Vector of norms ([Int] -> Int). Contrary to its pair function uniqNPoetical2GN returns then the rest of the given Vector Uniqueness after filtering the printed elements String. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. To specify whether the function returns also data suitable for usage with other functions or just usable mostly for printing it uses also a before String argument also UniqG one with the U data constructor corresponding to the printing (mostly) and UL to possible reusage of data.

uniqNPoetical2VGNL :: Preapp -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> UniqG -> String -> IO UniqG Source #

Variant of uniqNPoetical2VGN where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. To specify whether the function returns also data suitable for usage with other functions or just usable mostly for printing it uses also a before String argument also UniqG one with the U data constructor corresponding to the printing (mostly) and UL to possible reusage of data.

uniqNPoeticalUGN_ :: [String] -> (String -> Vector String) -> Preapp -> Int -> Int -> Int -> Vector ([Int] -> Int) -> String -> IO () Source #

Variant of the uniqNPoetical2GN, which uses as a function uniquenessPeriods2 with the first argument equal to the first Int argument. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalUGNL_ :: [String] -> (String -> Vector String) -> Preapp -> Int -> Int -> Vector ([Int] -> Int) -> String -> IO () Source #

Variant of uniqNPoeticalUGN_ where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalUGN :: [String] -> (String -> Vector String) -> Preapp -> Int -> Int -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG Source #

Variant of the uniqNPoetical2VGN, which uses as a function uniquenessPeriods2 with the first argument equal to the first Int argument. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. To specify whether the function returns also data suitable for usage with other functions or just usable mostly for printing it uses also a before String argument also UniqG one with the U data constructor corresponding to the printing (mostly) and UL to possible reusage of data. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalUGNL :: [String] -> (String -> Vector String) -> Preapp -> Int -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG Source #

Variant of uniqNPoeticalUGN where all the elements in the norms Vector are used as norms from right to left. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. To specify whether the function returns also data suitable for usage with other functions or just usable mostly for printing it uses also a before String argument also UniqG one with the U data constructor corresponding to the printing (mostly) and UL to possible reusage of data. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalUGN51_ :: [String] -> (String -> Vector String) -> Preapp -> Int -> Int -> String -> IO () Source #

Variant of the uniqNPoeticalUGN_, which uses as a single norm norm51. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.

uniqNPoeticalUGN51 :: [String] -> (String -> Vector String) -> Preapp -> Int -> Int -> UniqG -> String -> IO UniqG Source #

Variant of the uniqNPoeticalUGN, which uses as a single norm norm51. Uses in the processment prepending and appending String that are lifted (if any) to the PreApp data type with the respective constuctors. The first one is prepended and the second one is appended to the processed String to be processed with it. This allows to create more connection with the previous and postpending text. To specify whether the function returns also data suitable for usage with other functions or just usable mostly for printing it uses also a before String argument also UniqG one with the U data constructor corresponding to the printing (mostly) and UL to possible reusage of data. The first argument must be a list of String, each of which is a representation for the white space (or more generally, non-sound symbol representation). The second argument is a function that converts a String of the text into the Vector of sound representations for that language.