Copyright | (c) OleksandrZhabenko 2020 |
---|---|
License | MIT |
Maintainer | olexandr543@yahoo.com |
Stability | Experimental |
Safe Haskell | None |
Language | Haskell2010 |
Generalization of the DobutokO.Poetry.StrictV module functionality from
the dobutokO-poetry-general
package.
Can be used to get possible permutations of no more than 7 substructures
in the Foldable
structure separated with the elements of the "whitespace symbols"
structure.
Synopsis
- universalSetG :: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a))) => t a -> t (t a) -> (t a -> Vector a) -> (t (t a) -> Vector (Vector a)) -> Vector (Vector Int) -> Vector (Vector a) -> Vector (Vector a)
- result :: (Eq a, Foldable t, Foldable t2) => (Vector a -> t a) -> Vector (t2 b -> b) -> FuncRep (t a) (Vector c) (t2 b) -> Vector a -> (t2 b, Vector b, t a)
- resultB :: (Eq a, Foldable t, Foldable t2) => (Vector a -> t a) -> Vector (t2 b -> b) -> FuncRep (t a) (Vector c) (t2 b) -> Vector a -> (t2 b, Vector b, t a)
- uniquenessVariants2GN :: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a)), Ord b, Foldable t2) => a -> (t a -> Vector a) -> (t (t a) -> Vector (Vector a)) -> (Vector a -> t a) -> Vector (Vector Int) -> Vector (t2 b -> b) -> FuncRep (t a) (Vector c) (t2 b) -> t (t a) -> Vector (t2 b, Vector b, t a)
- uniquenessVariants2GNB :: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a)), Ord b, Foldable t2) => a -> (t a -> Vector a) -> (t (t a) -> Vector (Vector a)) -> (Vector a -> t a) -> Vector (Vector Int) -> Vector (t2 b -> b) -> FuncRep (t a) (Vector c) (t2 b) -> t (t a) -> Vector (t2 b, Vector b, t a)
- uniquenessVariants2GNP :: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a)), Ord b, Foldable t2) => t a -> t a -> a -> (t a -> Vector a) -> (t (t a) -> Vector (Vector a)) -> (Vector a -> t a) -> Vector (Vector Int) -> Vector (t2 b -> b) -> FuncRep (t a) (Vector c) (t2 b) -> t (t a) -> Vector (t2 b, Vector b, t a)
- uniquenessVariants2GNPB :: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a)), Ord b, Foldable t2) => t a -> t a -> a -> (t a -> Vector a) -> (t (t a) -> Vector (Vector a)) -> (Vector a -> t a) -> Vector (Vector Int) -> Vector (t2 b -> b) -> FuncRep (t a) (Vector c) (t2 b) -> t (t a) -> Vector (t2 b, Vector b, t a)
- genPermutations :: Int -> Vector (Vector Int)
- genPermutationsV :: Vector (Vector (Vector Int))
Documentation
:: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a))) | |
=> t a | |
-> t (t a) | |
-> (t a -> Vector a) | The function that is used internally to convert to the boxed |
-> (t (t a) -> Vector (Vector a)) | The function that is used internally to convert to the boxed |
-> Vector (Vector Int) | The list of permutations of |
-> Vector (Vector a) | |
-> Vector (Vector a) |
Is used internally in the uniquenessVariants2GNPB
, uniquenessVariants2GNP
and related functions. A key point of the evaluation -- the universal set of the task represented as a
Vector
of Vector
of a
.
:: (Eq a, Foldable t, Foldable t2) | |
=> (Vector a -> t a) | The function that is used internally to convert from the boxed |
-> Vector (t2 b -> b) | |
-> FuncRep (t a) (Vector c) (t2 b) | It includes the defined earlier variant with data constructor |
-> Vector a | |
-> (t2 b, Vector b, t a) |
:: (Eq a, Foldable t, Foldable t2) | |
=> (Vector a -> t a) | The function that is used internally to convert from the boxed |
-> Vector (t2 b -> b) | |
-> FuncRep (t a) (Vector c) (t2 b) | It includes the defined earlier variant with data constructor |
-> Vector a | |
-> (t2 b, Vector b, t a) |
uniquenessVariants2GN Source #
:: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a)), Ord b, Foldable t2) | |
=> a | The first most common element in the whitespace symbols structure |
-> (t a -> Vector a) | The function that is used internally to convert to the boxed |
-> (t (t a) -> Vector (Vector a)) | The function that is used internally to convert to the boxed |
-> (Vector a -> t a) | The function that is used internally to convert from the boxed |
-> Vector (Vector Int) | The list of permutations of |
-> Vector (t2 b -> b) | |
-> FuncRep (t a) (Vector c) (t2 b) | It includes the defined earlier variant with data constructor |
-> t (t a) | Must be obtained as |
-> Vector (t2 b, Vector b, t a) |
A variant of the uniquenessVariants2GNB
with the usage of the Vector
c
(an unboxed one) instead of the boxed variant Vector
c
. If c
is an instance of the
Unboxed
class then possibly it can be better from the performance point of view to use this variant.
uniquenessVariants2GNB Source #
:: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a)), Ord b, Foldable t2) | |
=> a | The first most common element in the "whitespace symbols" structure |
-> (t a -> Vector a) | The function that is used internally to convert to the boxed |
-> (t (t a) -> Vector (Vector a)) | The function that is used internally to convert to the boxed |
-> (Vector a -> t a) | The function that is used internally to convert from the boxed |
-> Vector (Vector Int) | The list of permutations of |
-> Vector (t2 b -> b) | |
-> FuncRep (t a) (Vector c) (t2 b) | It includes the defined earlier variant with data constructor |
-> t (t a) | Must be obtained as |
-> Vector (t2 b, Vector b, t a) |
A generalized variant of the uniquenessVariants2GN
function from the uniqueness-periods-vector-common
package which, moreover, allows to specify the used permutations.
uniquenessVariants2GNP Source #
:: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a)), Ord b, Foldable t2) | |
=> t a | The prepending structure. |
-> t a | The postpending structure. |
-> a | The first most common element in the whitespace symbols structure. |
-> (t a -> Vector a) | The function that is used internally to convert to the boxed |
-> (t (t a) -> Vector (Vector a)) | The function that is used internally to convert to the boxed |
-> (Vector a -> t a) | The function that is used internally to convert from the boxed |
-> Vector (Vector Int) | The list of permutations of |
-> Vector (t2 b -> b) | |
-> FuncRep (t a) (Vector c) (t2 b) | It includes the defined earlier variant with data constructor |
-> t (t a) | Must be obtained as |
-> Vector (t2 b, Vector b, t a) |
A variant of the uniquenessVariants2GNPB
with the usage of the Vector
c
(an unboxed one) instead of the boxed variant Vector
c
. If c
is an instance of the
Unboxed
class then possibly it can be better from the performance point of view to use this variant.
uniquenessVariants2GNPB Source #
:: (Eq a, Foldable t, InsertLeft t a, Monoid (t a), Monoid (t (t a)), Ord b, Foldable t2) | |
=> t a | |
-> t a | |
-> a | The first most common element in the whitespace symbols structure |
-> (t a -> Vector a) | The function that is used internally to convert to the boxed |
-> (t (t a) -> Vector (Vector a)) | The function that is used internally to convert to the boxed |
-> (Vector a -> t a) | The function that is used internally to convert from the boxed |
-> Vector (Vector Int) | The list of permutations of |
-> Vector (t2 b -> b) | |
-> FuncRep (t a) (Vector c) (t2 b) | Since version 0.5.0.0 it includes the previous variant with data constructor |
-> t (t a) | Must be obtained as |
-> Vector (t2 b, Vector b, t a) |
Generalized variant of uniquenessVariants2GN
with prepending and appending [a]
(given as the first and the second argument).