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.UniquenessPeriodsG

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. This module provides a functionality to define more complex uniquenessPeriods functions. For all the used conversion functions of the type g :: 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 = g xs
let ys = concat . toList $ v 
let v2 = g ys
v == v2
True

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

Synopsis

Documentation

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

More complicated and longer variant of the uniquenessPeriods that takes into account the second order structure of uniqueness with uniquenessP2 and can be therefore more fruitful (probably, it is a hypothesis itself that is needed to be tested). Is provided here as an example of the more complex "uniqueness function". Uses both uniqueness2 and uniqueness2n inside and is actually their composition with some (hopefully, natural) parameter functions. 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.

uniqueness2 :: (String -> [[String]]) -> ([[String]] -> [[String]]) -> String -> ([[String]], [String]) Source #

Parameterized way to prepare the result that can be used with uniqueness2n.

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

Being given two functions as parameters uses them to create a longer list of Int then application of only one of them. Besides, it can take into account the possible 0 and to create a non-negative list of Int that can be used e. g. by splitNorm.

uniquenessP2 :: [[String]] -> [[String]] Source #

Filters a given arguments so that each element String in the result is filtered from the element, which is doubled the first in the next String (usually, it equals to the head of it, if used as expected). Can be interpreted as a preparation to the second application of the uniquenessPeriods function because it removes the elements that splitted the input into lists and can be seen as a second deeper (so, probably less significant) factor of the uniqueness phonetical structure.