Copyright | (c) OleksandrZhabenko 2020 |
---|---|
License | MIT |
Maintainer | olexandr543@yahoo.com |
Stability | Experimental |
Safe Haskell | None |
Language | Haskell2010 |
Generalization of the functionality of the DobutokO.Poetry.General.Debug
module from the dobutokO-poetry-general-languages
package. Since 0.3.0.0 version
changed the names of most functions to more appropriate. The conversion table of
the old to new names are given in a file ConversionTable.txt in the main source
directory.
Synopsis
- maximumElBy :: (Eq a, Ord b) => Int -> Vector ([b] -> b) -> UniqG2 a b -> UniquenessG1 a b
- uniqNPropertiesN :: (Eq a, Ord b, Show a, Show b) => Int -> Int -> Vector ([b] -> b) -> UniqG2 a b -> UniqG2 a b
- uniqNPropertiesNAll :: (Eq a, Ord b, Show a, Show b) => Int -> Vector ([b] -> b) -> UniqG2 a b -> UniqG2 a b
- uniqNProperties2GN :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Int -> Int -> Vector ([b] -> b) -> FuncRep [a] (Vector c) [b] -> [a] -> UniqG2 a b
- maximumElByAll :: (Eq a, Ord b, Show a, Show b) => Vector ([b] -> b) -> UniqG2 a b -> UniquenessG1 a b
- maximumElGBy :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Int -> Vector ([b] -> b) -> FuncRep [a] (Vector c) [b] -> [a] -> UniquenessG1 a b
- uniquenessVariantsGN :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Vector ([b] -> b) -> FuncRep [a] (Vector c) [b] -> [a] -> Vector (UniquenessG1 a b)
- maximumElByVec :: (Eq a, Ord b, Show a, Show b) => Int -> Vector ([b] -> b) -> UniqG2 a b -> UniqG2 a b
- maximumElByVecAll :: (Eq a, Ord b, Show a, Show b) => Vector ([b] -> b) -> UniqG2 a b -> UniqG2 a b
- toFile :: FilePath -> [String] -> IO ()
- printUniquenessG1 :: (Show a, Show b) => Info2 -> UniquenessG1 a b -> IO ()
- printUniquenessG1List :: (Show a, Show b) => Info2 -> [UniquenessG1 a b] -> IO ()
- printUniquenessG1ListStr :: Show b => Info2 -> [UniquenessG1 Char b] -> IO ()
- newLineEnding :: String
Pure functions
Self-recursive pure functions and connected with them ones
:: (Eq a, Ord b) | |
=> Int | The quantity of the represented as functions "properties" to be applied from the second argument. The order is from the right to the left. |
-> Vector ([b] -> b) |
|
-> UniqG2 a b | The data to be analyzed. |
-> UniquenessG1 a b | The maximum element in respect with the given parameters. |
The function evaluates the Vector
of UniquenessG1
a
b
elements (related with the third argument) to retrieve the possibly maximum element
in it with respect to the order and significance (principality) of the "properties" (represented as the functions f :: [b] -> b
) being evaluated.
The most significant and principal is the "property", which index in the Vector
of them is the Int
argument (so it is the first one) of the
function minus 1, then less significant is the next to the left "property" and so on.
The predefined library "properties" or related to them functions can be found in the package uniqueness-periods-vector-properties
.
:: (Eq a, Ord b, Show a, Show b) | |
=> Int | A quantity of the recursive calls that returns each one a new resulting group from the rest of the data processed. |
-> Int | The quantity of the represented as functions "properties" to be applied from the second argument. The order is from the right to the left. |
-> Vector ([b] -> b) |
|
-> UniqG2 a b | The data to be analyzed. |
-> UniqG2 a b |
Finds out the n
(the first Int
argument) consequential maximum elements, and then rearranges the input moving the elements equal by the first element
in the triple to the maximum element to the first element in the tuple.
:: (Eq a, Ord b, Show a, Show b) | |
=> Int | A quantity of the recursive calls that returns each one a new resulting group from the rest of the data processed. |
-> Vector ([b] -> b) |
|
-> UniqG2 a b | The data to be analyzed. |
-> UniqG2 a b |
A variant of the uniqNPropertiesN
where all the given "properties" are used.
:: (Eq a, Ord b, Show a, Show b) | |
=> [a] | A list of "whitespace symbols" that delimits the sublists in the list to be processed. |
-> Preapp a | A parameter to specify the lists to be prepended and postpended to the given data to be processed before actual processment. |
-> Int | A quantity of the recursive calls that returns each one a new resulting group from the rest of the data processed. |
-> Int | The quantity of the represented as functions "properties" to be applied from the second argument. The order is from the right to the left. |
-> Vector ([b] -> b) |
|
-> FuncRep [a] (Vector c) [b] | Since version 0.5.0.0 it includes the previous variant with data constructor |
-> [a] | The data to be processed. Often it can be a |
-> UniqG2 a b |
The full analyzing and processment function.
Pure functions
:: (Eq a, Ord b, Show a, Show b) | |
=> Vector ([b] -> b) |
|
-> UniqG2 a b | The data to be analyzed. |
-> UniquenessG1 a b | The maximum element according to the given "properties". |
Variant of the maximumElBy
function where all the given "properties" are used.
The predefined library "properties" or related to them functions can be found in the package uniqueness-periods-vector-properties
.
:: (Eq a, Ord b, Show a, Show b) | |
=> [a] | A list of "whitespace symbols" that delimits the sublists in the list to be processed. |
-> Preapp a | A parameter to specify the lists to be prepended and postpended to the given data to be processed before actual processment. |
-> Int | The quantity of the represented as functions "properties" to be applied from the second argument. The order is from the right to the left. |
-> Vector ([b] -> b) |
|
-> FuncRep [a] (Vector c) [b] | Since version 0.5.0.0 it includes the previous variant with data constructor |
-> [a] | The data to be processed. Often it can be a |
-> UniquenessG1 a b |
The function evaluates
the generated Vector
of UniquenessG1
a
b
elements to retrieve the possibly maximum element in it with respect to the order and significance (principality)
of the "properties" being evaluated. The most significant and principal is the "property", 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 "property" and so on.
:: (Eq a, Ord b, Show a, Show b) | |
=> [a] | A list of "whitespace symbols" that delimits the sublists in the list to be processed. |
-> Preapp a | A parameter to specify the lists to be prepended and postpended to the given data to be processed before actual processment. |
-> Vector ([b] -> b) |
|
-> FuncRep [a] (Vector c) [b] | Since version 0.5.0.0 it includes the previous variant with data constructor |
-> [a] | The data to be processed. Often it can be a |
-> Vector (UniquenessG1 a b) |
A variant for uniquenessVariants2GN
and uniquenessVariants2GNP
with the second argument defining, which one is used.
:: (Eq a, Ord b, Show a, Show b) | |
=> Int | The quantity of the represented as functions "properties" to be applied from the second argument. The order is from the right to the left. |
-> Vector ([b] -> b) |
|
-> UniqG2 a b | The data to be analyzed. |
-> UniqG2 a b |
Finds out the group of maximum elements with respect of the k
"properties" (the most significant of which is the rightest one, then to the left less significant etc.),
which is given as the first argument, and then rearranges the input moving the elements equal by the first element in the triple to the maximum element
to the first element in the tuple.
The last "property" is the first element in the Vector
of "properties" ([b] -> b
).
:: (Eq a, Ord b, Show a, Show b) | |
=> Vector ([b] -> b) |
|
-> UniqG2 a b | The data to be analyzed. |
-> UniqG2 a b |
A variant of the maximumElByVec
where all the given "properties" are used.
IO functions
Printing subsystem
:: FilePath | The |
-> [String] | Each |
-> IO () |
Prints every String
from the list on the new line to the file. Uses appendFile
function inside.
With String
-based arguments
printUniquenessG1ListStr Source #
:: Show b | |
=> Info2 | A parameter to control the predefined behaviour of the printing. The |
-> [UniquenessG1 Char b] | The list of elements, for which the information is printed. |
-> IO () |
A variant of the printUniquenessG1List
where a
is Char
so that the inner third arguments in the triples are String
s.
Auxiliary function
newLineEnding :: String Source #
Auxiliary printing function to define the line ending needed to be printed by printUniquenessG1List
function in some cases.