| Copyright | (c) OleksandrZhabenko 2020 |
|---|---|
| License | MIT |
| Stability | Experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
DobutokO.Poetry.General
Description
Maintainer : olexandr543@yahoo.com
Helps to order the 7 or less Ukrainian words (or their concatenations)
to obtain (to some extent) suitable for poetry or music text.
Generalization of the functionality in the Basic
and Poetry modules. 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.
Synopsis
- uniqInMaxPoeticalN :: Int -> Vector ([Int] -> Int) -> UniqG -> IO UniqG
- inner1 :: Int -> Vector ([Int] -> Int) -> UniqG -> IO ([Int], UniqG)
- uniqInMaxPoeticalNL :: Vector ([Int] -> Int) -> UniqG -> IO UniqG
- uniqInMaxPoeticalNLine :: Int -> Vector ([Int] -> Int) -> UniqG -> IO UniqG
- inner2 :: Int -> Vector ([Int] -> Int) -> UniqG -> IO ([Int], UniqG)
- uniqInMaxPoeticalNLineL :: Vector ([Int] -> Int) -> UniqG -> IO UniqG
- uniqNPoeticalN :: Int -> Int -> Vector ([Int] -> Int) -> UniqG -> IO ()
- uniqNPoeticalNL :: Int -> Vector ([Int] -> Int) -> UniqG -> IO ()
- uniqNPoeticalNLine :: Int -> Int -> Vector ([Int] -> Int) -> UniqG -> IO ()
- uniqNPoeticalNLineL :: Int -> Vector ([Int] -> Int) -> UniqG -> IO ()
- uniqNPoeticalVN :: Int -> Int -> Vector ([Int] -> Int) -> UniqG -> IO UniqG
- uniqNPoeticalVNL :: Int -> Vector ([Int] -> Int) -> UniqG -> IO UniqG
- uniqMaxPoeticalGNV :: Int -> Vector ([Int] -> Int) -> UniqG -> Uniqueness
- uniqMaxPoeticalGNVL :: Vector ([Int] -> Int) -> UniqG -> Uniqueness
- uniquenessVariantsGN :: Preapp -> Vector ([Int] -> Int) -> String -> Vector Uniqueness
- uniqMaxPoeticalGN :: Preapp -> Int -> Vector ([Int] -> Int) -> String -> Uniqueness
- uniqMaxPoeticalGNL :: Preapp -> Vector ([Int] -> Int) -> String -> Uniqueness
- uniqNPoeticalG :: Preapp -> Int -> ([Int] -> Int) -> String -> IO ()
- uniq10PoeticalG :: Preapp -> ([Int] -> Int) -> String -> IO ()
- uniq10Poetical4 :: Preapp -> String -> IO ()
- uniq10Poetical5 :: Preapp -> String -> IO ()
- uniqNPoeticalGN :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> String -> IO ()
- uniqNPoeticalGNL :: Preapp -> Int -> Vector ([Int] -> Int) -> String -> IO ()
- uniqNPoeticalVGN :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG
- uniqNPoeticalVGNL :: Preapp -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG
- uniqMaxPoetical2GN :: Preapp -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> Uniqueness
- uniqMaxPoetical2GNL :: Preapp -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> Uniqueness
- uniqNPoetical2GN :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> IO ()
- uniqNPoetical2GNL :: Preapp -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> IO ()
- uniqNPoetical2GNLine :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> IO ()
- uniqNPoetical2GNLineL :: Preapp -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> String -> IO ()
- uniqNPoetical2VGN :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> UniqG -> String -> IO UniqG
- uniqNPoetical2VGNL :: Preapp -> Int -> Vector ([Int] -> Int) -> (String -> [Int]) -> UniqG -> String -> IO UniqG
- uniqNPoeticalUGN_ :: Preapp -> Int -> Int -> Int -> Vector ([Int] -> Int) -> String -> IO ()
- uniqNPoeticalUGNL_ :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> String -> IO ()
- uniqNPoeticalUGN :: Preapp -> Int -> Int -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG
- uniqNPoeticalUGNL :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG
- uniqNPoeticalUGN51_ :: Preapp -> Int -> Int -> String -> IO ()
- uniqNPoeticalUGN51 :: Preapp -> Int -> Int -> UniqG -> String -> IO UniqG
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 :: Preapp -> Vector ([Int] -> Int) -> String -> Vector Uniqueness Source #
Returns the Vector of all possible permutations of the String that represent the Ukrainian 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.
In contrast to the the same named function from the Poetry module 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.
uniqMaxPoeticalGN :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqMaxPoeticalGNL :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalG :: Preapp -> Int -> ([Int] -> Int) -> String -> IO () Source #
A variant of the uniqNPoeticalGN with only one norm.
In contrast to the the same named function from the Poetry module 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.
uniq10PoeticalG :: Preapp -> ([Int] -> Int) -> String -> IO () Source #
A variant of the uniqNPoeticalG function with the n equal to 10.
In contrast to the the same named function from the Poetry module 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.
uniq10Poetical4 :: 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.
In contrast to the the same named function from the Poetry module 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.
uniq10Poetical5 :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalGN :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> String -> IO () Source #
A variant of the uniqNPoetical2GN with the conversion ("uniquenessPeriods" function) function uniquenessPeriods.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalGNL :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalVGN :: Preapp -> Int -> Int -> Vector ([Int] -> Int) -> UniqG -> String -> IO UniqG Source #
Generalized variant of the uniqNPoeticalVG with usage of several norms.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalVGNL :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqMaxPoetical2GN :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqMaxPoetical2GNL :: 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.
In contrast to the the same named function from the Poetry module 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.
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).
In contrast to the the same named function from the Poetry module 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.
In contrast to the the same named function from the Poetry module 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.
In contrast to the the same named function from the Poetry module 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.
In contrast to the the same named function from the Poetry module 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.
In contrast to the the same named function from the Poetry module 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.
In contrast to the the same named function from the Poetry module 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_ :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalUGNL_ :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalUGN :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalUGNL :: 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.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalUGN51_ :: Preapp -> Int -> Int -> String -> IO () Source #
Variant of the uniqNPoeticalUGN_, which uses as a single norm norm51.
In contrast to the the same named function from the Poetry module 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.
uniqNPoeticalUGN51 :: Preapp -> Int -> Int -> UniqG -> String -> IO UniqG Source #
Variant of the uniqNPoeticalUGN, which uses as a single norm norm51.
In contrast to the the same named function from the Poetry module 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.