dobutokO-poetry-0.3.1.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

Contents

Description

Maintainer : olexandr543@yahoo.com

Helps to order the 7 or less Ukrainian words (or their concatenations) to obtain somewhat suitable for poetry or music text.

Synopsis

Main functions

uniq10Poetical4 :: 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.

uniq10Poetical5 :: 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.

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

A variant of the uniqNPoeticalG function with the n equal to 10.

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

Recursive n :: Int times application of the uniqInMaxPoetical function after the uniquenessVariantsG application to the String. Prints n (or less if there are less of them) maximum elements starting from the first and further to the rest. The norm given defines the way, in which the elements are considered the "maximum" ones.

uniqNPoetical :: Int -> Vector ([Int], Int, Int, Int, String) -> IO () Source #

Recursive n :: Int times application of the uniqInMaxPoetical function. Prints n (or less if there are less of them) maximum elements starting from the first and further to the rest. The norm given defines the way, in which the elements are considered the "maximum" ones.

uniqNPoeticalV :: Int -> Vector ([Int], Int, Int, Int, String) -> IO (Vector ([Int], Int, Int, Int, String)) Source #

The result of the recursive n :: Int times application of the uniqInMaxPoetical function. The norm given defines the way, in which the elements are considered the "maximum" ones.

uniqNPoeticalVG :: Int -> ([Int] -> Int) -> String -> IO (Vector ([Int], Int, Int, Int, String)) Source #

The result of the recursive n :: Int times application of the uniqInMaxPoetical function after the uniquenessVariantsG application to the String. The norm given defines the way, in which the elements are considered the "maximum" ones.

Additional functions

uniquenessVariantsG :: ([Int] -> Int) -> String -> Vector ([Int], Int, Int, Int, String) Source #

Given a String consisting of no more than 7 Ukrainian words [some of them can be created by concatenation with preserving the Ukrainian pronunciation of the parts, e. g. "так як" (actually two correnc Ukrainian words) can be written "такйак" (one phonetical Ukrainian word obtained with preserving phonetical structure), if you would not like to treat them separately] it returns a Vector of possible combinations without repeating of the words in differnet order and for every one of them appends also information about uniquenessPeriods to it and finds out three different metrics -- named "norms". Afterwards, depending on these norms it can be specified some phonetical properties of the words that allow to use them poetically or to create a varied melody with them. Some variants of this generalized function are uniquesessVariants3 and uniquesessVariants4 with the predefined norms.

uniquenessVariants3 :: String -> Vector ([Int], Int, Int, Int, String) Source #

A variant of uniquesessVariantsG with the norm being norm3.

uniquenessVariants4 :: String -> Vector ([Int], Int, Int, Int, String) Source #

A variant of uniquesessVariantsG with the norm being norm4.

uniqMaxPoeticalG :: ([Int] -> Int) -> String -> ([Int], Int, Int, Int, String) Source #

Given a norm and a Ukrainian String consisting of no more than 7 words (see also the information for uniquenessVariantG) returns the maximum by the specified norm element of the uniquenessVariantsG applied to the same arguments.

uniqInMaxPoetical :: Vector ([Int], Int, Int, Int, String) -> IO (Vector ([Int], Int, Int, Int, String)) Source #

Similar to uniqMaxPoeticalG but instead of resulting in a maximum element, outputs it by parts and returns the rest of the Vector without this maximum element.

Different norms

norm1 :: [Int] -> Int Source #

A first norm for the list of positive Int. For not empty lists equals to the maximum element.

norm2 :: [Int] -> Int Source #

A second norm for the list of positive Int. For not empty lists equals to the sum of the elements.

norm3 :: [Int] -> Int Source #

A third norm for the list of positive Int. For not empty lists equals to the sum of the doubled maximum element and a rest elements of the list.

norm4 :: [Int] -> Int Source #

A fourth norm for the list of positive Int. Equals to the sum of the norm3 and norm2.

norm5 :: [Int] -> Int Source #

A fifth norm for the list of positive Int. For not empty lists equals to the sum of the elements quoted with sum of the two most minimum elements.

norm6 :: [Int] -> Int Source #

A sixth norm for the list of positive Int.

Help functions

fourFrom5 :: (a, b, b, b, c) -> (a, b, b, b) Source #

lastFrom5 :: (a, b, b, b, c) -> c Source #