dobutokO-poetry-0.9.0.0: Helps to order the 7 or less Ukrainian words to obtain somewhat suitable for poetry or music text

Copyright(c) OleksandrZhabenko 2020
LicenseMIT
StabilityExperimental
Safe HaskellNone
LanguageHaskell2010

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

Documentation

data PreApp a Source #

The list in the PA variant represent the prepending String and the postpending one respectively. K constuctor actually means no prepending and postpending of the text. Are used basically to control the behaviour of the functions.

Constructors

K 
PA [a] [a] 
Instances
Eq a => Eq (PreApp a) Source # 
Instance details

Defined in DobutokO.Poetry.General

Methods

(==) :: PreApp a -> PreApp a -> Bool #

(/=) :: PreApp a -> PreApp a -> Bool #

G1 (PreApp Char) Char Source # 
Instance details

Defined in DobutokO.Poetry.General

class G1 a b where Source #

Minimal complete definition

get1m, get2m, preapp, setm

Methods

get1m :: a -> [b] Source #

get2m :: a -> [b] Source #

getm :: Bool -> a -> [b] Source #

preapp :: a -> [[b]] -> [[b]] Source #

setm :: [b] -> [b] -> a Source #

Instances
G1 (PreApp Char) Char Source # 
Instance details

Defined in DobutokO.Poetry.General

data UniquenessG a b Source #

Is used to control whether to return data or only to print the needed information. The U contstuctor corresponds to the information printing and UL to returning also data. The last one so can be further used.

Constructors

U b 
UL ([a], b) 

get2 :: UniqG -> (Maybe [String], Vector Uniqueness) Source #

Decomposes the data type UniqG into its components. The inverse to the set2.

set2 :: (Maybe [String], Vector Uniqueness) -> UniqG Source #

Compose the data type UniqG from its components. The inverse to the get2.

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.