packages feed

uniqueness-periods-vector-general 0.2.3.0 → 0.3.0.0

raw patch · 4 files changed

+99/−57 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Languages.UniquenessPeriods.Vector.General.Debug: uniqInMaxPoeticalN :: (Eq a, Ord b, Show a, Show b) => Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO (UniqG a b)
- Languages.UniquenessPeriods.Vector.General.Debug: uniqInMaxPoeticalNL :: (Eq a, Ord b, Show a, Show b) => Info2 -> Vector ([b] -> b) -> UniqG a b -> IO (UniqG a b)
- Languages.UniquenessPeriods.Vector.General.Debug: uniqMaxPoetical2GN :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Int -> Vector ([b] -> b) -> ([a] -> Vector c) -> (Vector c -> [b]) -> [a] -> UniquenessG1 a b
- Languages.UniquenessPeriods.Vector.General.Debug: uniqMaxPoeticalGNV :: (Eq a, Ord b) => Int -> Vector ([b] -> b) -> UniqG a b -> UniquenessG1 a b
- Languages.UniquenessPeriods.Vector.General.Debug: uniqMaxPoeticalGNVL :: (Eq a, Ord b, Show a, Show b) => Vector ([b] -> b) -> UniqG a b -> UniquenessG1 a b
- Languages.UniquenessPeriods.Vector.General.Debug: uniqNPoetical2GN :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Int -> Int -> Info2 -> Vector ([b] -> b) -> ([a] -> Vector c) -> (Vector c -> [b]) -> [a] -> IO ()
- Languages.UniquenessPeriods.Vector.General.Debug: uniqNPoetical2VGN :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Int -> Int -> Info2 -> Vector ([b] -> b) -> ([a] -> Vector c) -> (Vector c -> [b]) -> UniqG a b -> [a] -> IO (UniqG a b)
- Languages.UniquenessPeriods.Vector.General.Debug: uniqNPoeticalN :: (Eq a, Ord b, Show a, Show b) => Int -> Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO ()
- Languages.UniquenessPeriods.Vector.General.Debug: uniqNPoeticalNL :: (Eq a, Ord b, Show a, Show b) => Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO ()
- Languages.UniquenessPeriods.Vector.General.Debug: uniqNPoeticalVN :: (Eq a, Ord b, Show a, Show b) => Int -> Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO (UniqG a b)
- Languages.UniquenessPeriods.Vector.General.Debug: uniqNPoeticalVNL :: (Eq a, Ord b, Show a, Show b) => Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO (UniqG a b)
+ Languages.UniquenessPeriods.Vector.General.Debug: maximumElBy :: (Eq a, Ord b) => Int -> Vector ([b] -> b) -> UniqG a b -> UniquenessG1 a b
+ Languages.UniquenessPeriods.Vector.General.Debug: maximumElByAll :: (Eq a, Ord b, Show a, Show b) => Vector ([b] -> b) -> UniqG a b -> UniquenessG1 a b
+ Languages.UniquenessPeriods.Vector.General.Debug: maximumElByVec :: (Eq a, Ord b, Show a, Show b) => Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO (UniqG a b)
+ Languages.UniquenessPeriods.Vector.General.Debug: maximumElByVecAll :: (Eq a, Ord b, Show a, Show b) => Info2 -> Vector ([b] -> b) -> UniqG a b -> IO (UniqG a b)
+ Languages.UniquenessPeriods.Vector.General.Debug: maximumElGBy :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Int -> Vector ([b] -> b) -> ([a] -> Vector c) -> (Vector c -> [b]) -> [a] -> UniquenessG1 a b
+ Languages.UniquenessPeriods.Vector.General.Debug: uniqNProperties2GN :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Int -> Int -> Info2 -> Vector ([b] -> b) -> ([a] -> Vector c) -> (Vector c -> [b]) -> [a] -> IO ()
+ Languages.UniquenessPeriods.Vector.General.Debug: uniqNProperties2VGN :: (Eq a, Ord b, Show a, Show b) => [a] -> Preapp a -> Int -> Int -> Info2 -> Vector ([b] -> b) -> ([a] -> Vector c) -> (Vector c -> [b]) -> UniqG a b -> [a] -> IO (UniqG a b)
+ Languages.UniquenessPeriods.Vector.General.Debug: uniqNPropertiesN :: (Eq a, Ord b, Show a, Show b) => Int -> Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO ()
+ Languages.UniquenessPeriods.Vector.General.Debug: uniqNPropertiesNAll :: (Eq a, Ord b, Show a, Show b) => Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO ()
+ Languages.UniquenessPeriods.Vector.General.Debug: uniqNPropertiesVN :: (Eq a, Ord b, Show a, Show b) => Int -> Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO (UniqG a b)
+ Languages.UniquenessPeriods.Vector.General.Debug: uniqNPropertiesVNAll :: (Eq a, Ord b, Show a, Show b) => Int -> Info2 -> Vector ([b] -> b) -> UniqG a b -> IO (UniqG a b)

Files

ChangeLog.md view
@@ -29,3 +29,8 @@ ## 0.2.3.0 -- 2020-09-09  * Second version revised E. Improved code readability.++## 0.3.0.0 -- 2020-09-11++* Third version. Fixed issues with being not ordered printed information. Changed the names of the functions. Conversion tables of the changed names is +now given in the ConversionTable.txt file. Some documentation improvements. 
+ ConversionTable.txt view
@@ -0,0 +1,13 @@+Old name              ->    New name              |+===================================================+uniqMaxPoeticalGNV    ->    maximumElBy+uniqMaxPoeticalGNVL   ->    maximumElByAll+uniqMaxPoetical2GN    ->    maximumElGBy+uniqInMaxPoeticalN    ->    maximumElByVec+uniqInMaxPoeticalNL   ->    maximumElByVecAll+uniqNPoeticalN        ->    uniqNPropertiesN+uniqNPoeticalNL       ->    uniqNPropertiesNAll+uniqNPoeticalVN       ->    uniqNPropertiesVN+uniqNPoeticalVNL      ->    uniqNPropertiesVNAll+uniqNPoetical2GN      ->    uniqNProperties2GN+uniqNProperties2VGN   ->    uniqNProperties2VGN
Languages/UniquenessPeriods/Vector/General/Debug.hs view
@@ -6,9 +6,36 @@ -- Maintainer  :  olexandr543@yahoo.com -- -- Generalization of the functionality of the DobutokO.Poetry.General.Debug --- module from the @dobutokO-poetry-general-languages@ package. +-- 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.  -module Languages.UniquenessPeriods.Vector.General.Debug where+module Languages.UniquenessPeriods.Vector.General.Debug (+  -- * Pure functions+  -- ** Self-recursive pure function+  maximumElBy+  -- ** Pure functions+  , maximumElByAll+  , maximumElGBy+  , uniquenessVariantsGN+  -- * IO functions+  -- ** Printing subsystem+  , toFile+  , printHelp+  -- ** Processment functions+  , maximumElByVec+  , maximumElByVecAll+  -- *** Calls pure self-recursive function+  , inner1+  -- *** Self-recursive IO functions and connected with them ones+  , uniqNPropertiesN+  , uniqNPropertiesNAll+  , uniqNPropertiesVN+  , uniqNPropertiesVNAll+  , uniqNProperties2GN+  , uniqNProperties2VGN+) where  import Data.Maybe (fromJust) import Data.Print.Info@@ -23,20 +50,20 @@ -- The most significant and principal is the \"property\", which index in the 'V.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@. -uniqMaxPoeticalGNV :: +maximumElBy ::    (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.   -> V.Vector ([b] -> b) -- ^ 'V.Vector' of the represented as functions \"properties\" to be applied consequently.   ->  UniqG a b -- ^ The data to be analyzed.   -> UniquenessG1 a b -- ^ The maximum element in respect with the given parameters.-uniqMaxPoeticalGNV k vN y- | compare k (V.length vN) == GT = error "Languages.UniquenessPeriods.Vector.General.Debug.uniqMaxPoeticalGNV: undefined for that amount of norms. "+maximumElBy k vN y+ | compare k (V.length vN) == GT = error "Languages.UniquenessPeriods.Vector.General.Debug.maximumElBy: undefined for that amount of norms. "  | compare k 0 == GT =    let maxK = V.maximumBy (\(_,vN0,_) (_,vN1,_) -> compare (V.unsafeIndex vN0 (k - 1)) (V.unsafeIndex vN1 (k - 1))) . snd . get2 $ y        vK = V.filter (\(_,vN2,_) -> V.unsafeIndex vN2 (k - 1) == V.unsafeIndex (secondFrom3 maxK) (k - 1)) . snd . get2 $ y in-         if isU y then uniqMaxPoeticalGNV (k - 1) (V.unsafeSlice 0 (k - 1) vN) (U vK)-         else uniqMaxPoeticalGNV (k - 1) (V.unsafeSlice 0 (k - 1) vN) (UL (fromJust . fst . get2 $ y,vK))+         if isU y then maximumElBy (k - 1) (V.unsafeSlice 0 (k - 1) vN) (U vK)+         else maximumElBy (k - 1) (V.unsafeSlice 0 (k - 1) vN) (UL (fromJust . fst . get2 $ y,vK))  | otherwise = V.maximumBy (\(_,vN0,_) (_,vN1,_) -> compare (V.unsafeIndex vN0 0) (V.unsafeIndex vN1 0)) . snd . get2 $ y-{-# INLINE uniqMaxPoeticalGNV #-}+{-# INLINE maximumElBy #-}  -- | Inspired by appendS16LEFile function from Melodics.Ukrainian module from @mmsyn6ukr@ package. toFile :: @@ -78,7 +105,7 @@         Gf xs -> toFile xs [show . firstFrom3 $ uni, show . secondFrom3 $ uni]         ~(Hf xs) -> toFile xs [show . lastFrom3 $ uni, show . firstFrom3 $ uni, show. secondFrom3 $ uni]  -- the most verbose output --- | Auxiliary function that is used inside the 'uniqInMaxPoeticalN'. Finds the maximum element, prints needed information and returns the result. +-- | Auxiliary function that is used inside the 'maximumElByVec'. Finds the maximum element, prints needed information and returns the result.  inner1 ::    (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.   -> Info2 -- ^ A parameter to control the predefined behaviour of the printing. The 'I1' branch prints to the 'stdout' and the 'I2' - to the file.@@ -86,26 +113,26 @@   -> UniqG a b -- ^ The data to be analyzed.   -> IO ([b],UniqG a b) inner1 k info vN x = do -  let uniq = uniqMaxPoeticalGNV k vN x+  let uniq = maximumElBy k vN x   let fsT = firstFrom3 uniq   printHelp info uniq   return (fsT,x) {-# INLINE inner1 #-} --- | Variant of the 'uniqMaxPoeticalGNV' function where all the given \"properties\" are used. +-- | 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@.-uniqMaxPoeticalGNVL :: +maximumElByAll ::    (Eq a, Ord b, Show a, Show b) => V.Vector ([b] -> b) -- ^ 'V.Vector' of the represented as functions \"properties\" to be applied consequently.   ->  UniqG a b -- ^ The data to be analyzed.   -> UniquenessG1 a b -- ^ The maximum element according to the given \"properties\".-uniqMaxPoeticalGNVL vN = uniqMaxPoeticalGNV (V.length vN) vN-{-# INLINE uniqMaxPoeticalGNVL #-}+maximumElByAll vN = maximumElBy (V.length vN) vN+{-# INLINE maximumElByAll #-}  -- | The function evaluates  -- the generated 'V.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 'V.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.-uniqMaxPoetical2GN :: +maximumElGBy ::    (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.@@ -114,13 +141,13 @@   -> (V.Vector c -> [b]) -- ^ The second function that transforms the suitable form data representation obtained by the previous argument application into the data that can be evaluated to get the result.   -> [a] -- ^ The data to be processed. Often it can be a 'String' of the text.    -> UniquenessG1 a b-uniqMaxPoetical2GN whspss rr k vN g1 g2 xs- | compare k (V.length vN) == GT = error "Languages.UniquenessPeriods.Vector.General.Debug.uniqMaxPoetical2GN: undefined for that amount of norms. "+maximumElGBy whspss rr k vN g1 g2 xs+ | compare k (V.length vN) == GT = error "Languages.UniquenessPeriods.Vector.General.Debug.maximumElGBy: undefined for that amount of norms. "  | compare k 0 == GT =    let vM = uniquenessVariants2GNP (get1m rr) (get2m rr) whspss vN g1 g2 xs        maxK = V.maximumBy (\(_,vN0,_) (_,vN1,_) -> compare (V.unsafeIndex vN0 (k - 1)) (V.unsafeIndex vN1 (k - 1))) vM        vK = V.filter (\(_,vN2,_) -> V.unsafeIndex vN2 (k - 1) == V.unsafeIndex (secondFrom3 maxK) (k - 1)) vM in-         uniqMaxPoeticalGNV (k - 1) (V.unsafeSlice 0 (k - 1) vN) (U vK)+         maximumElBy (k - 1) (V.unsafeSlice 0 (k - 1) vN) (U vK)  | otherwise = V.maximumBy (\(_,vN0,_) (_,vN1,_) -> compare (V.unsafeIndex vN0 0) (V.unsafeIndex vN1 0)) . uniquenessVariantsGN whspss rr vN g1 g2 $ xs  -- | A variant for 'uniquenessVariants2GN' and 'uniquenessVariants2GNP' with the second argument defining, which one is used.@@ -138,80 +165,79 @@  -- | Prints the maximum element 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. The last \"property\" is the first element in the 'V.Vector' of \"properties\" (@[b] -> b@). -uniqInMaxPoeticalN :: +maximumElByVec ::    (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.   -> Info2 -- ^ A parameter to control the predefined behaviour of the printing. The 'I1' branch prints to the 'stdout' and the 'I2' - to the file.   -> V.Vector ([b] -> b) -- ^ 'V.Vector' of the represented as functions \"properties\" to be applied consequently.   -> UniqG a b -- ^ The data to be analyzed.   -> IO (UniqG a b)-uniqInMaxPoeticalN k info vN x = do+maximumElByVec k info vN x = do   inner1 k info vN x >>= \(fsT,x) ->      if isU x then return (U (V.filter ((/= fsT) . firstFrom3) . snd . get2 $ x))     else return (UL ((\(v1,v2) -> ((V.toList . V.map lastFrom3 $ v1) ++ (fromJust . fst . get2 $ x),v2)) .        V.unstablePartition ((== fsT) . firstFrom3) . snd . get2 $ x))-{-# INLINE uniqInMaxPoeticalN #-}+{-# INLINE maximumElByVec #-}   --- | A variant of the 'uniqInMaxPoeticalN' where all the given \"properties\" are used.-uniqInMaxPoeticalNL :: +-- | A variant of the 'maximumElByVec' where all the given \"properties\" are used.+maximumElByVecAll ::    (Eq a, Ord b, Show a, Show b) => Info2 -- ^ A parameter to control the predefined behaviour of the printing. The 'I1' branch prints to the 'stdout' and the 'I2' - to the file.   -> V.Vector ([b] -> b) -- ^ 'V.Vector' of the represented as functions \"properties\" to be applied consequently.   -> UniqG a b -- ^ The data to be analyzed.   -> IO (UniqG a b)-uniqInMaxPoeticalNL info vN = uniqInMaxPoeticalN (V.length vN) info vN-{-# INLINE uniqInMaxPoeticalNL #-}+maximumElByVecAll info vN = maximumElByVec (V.length vN) info vN+{-# INLINE maximumElByVecAll #-} --- |  Is a pair function for monadic recursive calls with 'uniqInMaxPoeticalN'. Prints the @n@ (the first 'Int' argument) consequential maximum elements. -uniqNPoeticalN :: +-- |  Is a pair function for monadic recursive calls with 'maximumElByVec'. Prints the @n@ (the first 'Int' argument) consequential maximum elements. +uniqNPropertiesN ::    (Eq a, Ord b, Show a, Show b) => Int -- ^ A quantity of the recursive calls that returns each one a new result 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.   -> Info2 -- ^ A parameter to control the predefined behaviour of the printing. The 'I1' branch prints to the 'stdout' and the 'I2' - to the file.   -> V.Vector ([b] -> b) -- ^ 'V.Vector' of the represented as functions \"properties\" to be applied consequently.   -> UniqG a b -- ^ The data to be analyzed.   -> IO ()-uniqNPoeticalN n k info vN y  +uniqNPropertiesN n k info vN y    | n <= 0 = return ()- | compare (V.length . snd . get2 $ y) n == LT = V.mapM_ (printHelp info) . snd . get2 $ y- | otherwise = (uniqInMaxPoeticalN k info vN y >>= uniqNPoeticalN (n - 1) k info vN)-{-# INLINE uniqNPoeticalN #-}+ | otherwise = (maximumElByVec k info vN y >>= uniqNPropertiesN (n - 1) k info vN)+{-# INLINE uniqNPropertiesN #-} --- | A variant of the 'uniqNPoeticalN' where all the given \"properties\" are used.-uniqNPoeticalNL :: +-- | A variant of the 'uniqNPropertiesN' where all the given \"properties\" are used.+uniqNPropertiesNAll ::    (Eq a, Ord b, Show a, Show b) => Int -- ^ A quantity of the recursive calls that returns each one a new result from the rest of the data processed.   -> Info2 -- ^ A parameter to control the predefined behaviour of the printing. The 'I1' branch prints to the 'stdout' and the 'I2' - to the file.   -> V.Vector ([b] -> b) -- ^ 'V.Vector' of the represented as functions \"properties\" to be applied consequently.   -> UniqG a b -- ^ The data to be analyzed.   -> IO ()-uniqNPoeticalNL n info vN = uniqNPoeticalN n (V.length vN) info vN-{-# INLINE uniqNPoeticalNL #-}+uniqNPropertiesNAll n info vN = uniqNPropertiesN n (V.length vN) info vN+{-# INLINE uniqNPropertiesNAll #-} --- |  Is a pair function for monadic recursive calls with 'uniqInMaxPoeticalN'. Prints the @n@ (the first 'Int' argument) consequential maximum elements. --- Is similar to 'uniqNPoeticalN' in actions but has another return data type.-uniqNPoeticalVN :: +-- |  Is a pair function for monadic recursive calls with 'maximumElByVec'. Prints the @n@ (the first 'Int' argument) consequential maximum elements. +-- Is similar to 'uniqNPropertiesN' in actions but has another return data type.+uniqNPropertiesVN ::    (Eq a, Ord b, Show a, Show b) => Int -- ^ A quantity of the recursive calls that returns each one a new result 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.   -> Info2 -- ^ A parameter to control the predefined behaviour of the printing. The 'I1' branch prints to the 'stdout' and the 'I2' - to the file.   -> V.Vector ([b] -> b) -- ^ 'V.Vector' of the represented as functions \"properties\" to be applied consequently.   -> UniqG a b -- ^ The data to be analyzed.   -> IO (UniqG a b)-uniqNPoeticalVN n k info vN y+uniqNPropertiesVN n k info vN y  | n <= 0 || compare (V.length . snd . get2 $ y) n == LT = return y- | otherwise = (uniqInMaxPoeticalN k info vN y >>= uniqNPoeticalVN (n - 1) k info vN)-{-# INLINE uniqNPoeticalVN #-}+ | otherwise = (maximumElByVec k info vN y >>= uniqNPropertiesVN (n - 1) k info vN)+{-# INLINE uniqNPropertiesVN #-} --- | A variant of the 'uniqNPoeticalVN' where all the given \"properties\" are used.-uniqNPoeticalVNL :: +-- | A variant of the 'uniqNPropertiesVN' where all the given \"properties\" are used.+uniqNPropertiesVNAll ::    (Eq a, Ord b, Show a, Show b) => Int -- ^ A quantity of the recursive calls that returns each one a new result from the rest of the data processed.   -> Info2 -- ^ A parameter to control the predefined behaviour of the printing. The 'I1' branch prints to the 'stdout' and the 'I2' - to the file.   -> V.Vector ([b] -> b) -- ^ 'V.Vector' of the represented as functions \"properties\" to be applied consequently.   -> UniqG a b -- ^ The data to be analyzed.   -> IO (UniqG a b)-uniqNPoeticalVNL n info vN = uniqNPoeticalVN n (V.length vN) info vN-{-# INLINE uniqNPoeticalVNL #-}+uniqNPropertiesVNAll n info vN = uniqNPropertiesVN n (V.length vN) info vN+{-# INLINE uniqNPropertiesVNAll #-}  -------------------------------------------------------------------------------------------- --- | The full analyzing and processment function. A pair with 'uniqNPoetical2VGN', returns another data type as its result.-uniqNPoetical2GN :: +-- | The full analyzing and processment function. A pair with 'uniqNProperties2VGN', returns another data type as its result.+uniqNProperties2GN ::    (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 result from the rest of the data processed.@@ -222,16 +248,14 @@   -> (V.Vector c -> [b])  -- ^ The second function that transforms the suitable form data representation obtained by the previous argument application into the data that can be evaluated to get the result. The predefined functions can be found in the package @uniqueness-periods-vector-properties@.   -> [a] -- ^ The data to be processed. Often it can be a 'String' of the text.     -> IO ()-uniqNPoetical2GN whspss rr n k info vN g1 g2 xs+uniqNProperties2GN whspss rr n k info vN g1 g2 xs  | n <= 0 = return ()  | otherwise = do    let v = uniquenessVariants2GNP (get1m rr) (get2m rr) whspss vN g1 g2 xs-   if compare (V.length v) n == LT-     then V.mapM_ (printHelp info) v-     else (uniqInMaxPoeticalN k info vN (U v) >>= uniqNPoeticalN (n - 1) k info vN)+   maximumElByVec k info vN (U v) >>= uniqNPropertiesN (n - 1) k info vN --- | The full analyzing and processment function. A pair with 'uniqNPoetical2GN', returns another data type as its result.-uniqNPoetical2VGN :: +-- | The full analyzing and processment function. A pair with 'uniqNProperties2GN', returns another data type as its result.+uniqNProperties2VGN ::    (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 result from the rest of the data processed.@@ -243,10 +267,10 @@   -> UniqG a b -- ^ A parameter to control the behaviour of the function. The data constructor (either 'U' or 'UL') is preserved.   -> [a] -- ^ The data to be processed. Often it can be a 'String' of the text.     -> IO (UniqG a b)-uniqNPoetical2VGN whspss rr n k info vN g1 g2 y xs+uniqNProperties2VGN whspss rr n k info vN g1 g2 y xs  | n <= 0 = if isU y then return (U V.empty) else return (UL ([],V.empty))  | otherwise = do    let v = uniquenessVariants2GNP (get1m rr) (get2m rr) whspss vN g1 g2 xs    if compare (V.length v) n == LT       then if isU y then return (U v) else return (UL ([],v)) -     else if isU y then uniqNPoeticalVN n k info vN (U v) else uniqNPoeticalVN n k info vN (UL ([],v))+     else if isU y then uniqNPropertiesVN n k info vN (U v) else uniqNPropertiesVN n k info vN (UL ([],v))
uniqueness-periods-vector-general.cabal view
@@ -2,7 +2,7 @@ --   For further documentation, see http://haskell.org/cabal/users-guide/  name:                uniqueness-periods-vector-general-version:             0.2.3.0+version:             0.3.0.0 synopsis:            Generalization of the functionality of the dobutokO-poetry-general-languages package description:         Generalization of the functionality of the dobutokO-poetry-general-languages package homepage:            https://hackage.haskell.org/package/uniqueness-periods-vector-general@@ -13,7 +13,7 @@ copyright:           Oleksandr Zhabenko category:            Language, Game, Math build-type:          Simple-extra-source-files:  ChangeLog.md+extra-source-files:  ChangeLog.md, ConversionTable.txt cabal-version:       >=1.10  library