packages feed

phonetic-languages-examples 0.3.3.0 → 0.4.0.0

raw patch · 3 files changed

+34/−29 lines, 3 filesdep +phonetic-languages-constraintsPVP ok

version bump matches the API change (PVP)

Dependencies added: phonetic-languages-constraints

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -40,3 +40,8 @@  * Third version revised C. Fixed issue with the reverse order of the output for the rewritePoemG executable. +## 0.4.0.0 -- 2020-11-12++* Fourth version. Added the possibility to use constraints from the phonetic-languages-constraints package (it is also a new leightweight dependency)+in the lineVariantsG executable. They allows to reduce number of computations needed and explicitly apply additional needed grammar rules, extend+the extent of understandable text and so on.
Simple/Main.hs view
@@ -15,6 +15,7 @@ module Main where  import Control.Parallel.Strategies+import Languages.UniquenessPeriods.Vector.Constraints.Encoded (decodeLConstraints,readMaybeECG) import qualified Data.Vector as VB import Data.Print.Info import Languages.UniquenessPeriods.Vector.General.DebugG@@ -30,7 +31,7 @@ import Melodics.ByteString.Ukrainian (isUkrainianL) import qualified Data.List  as L (span,sort,permutations) import Languages.UniquenessPeriods.Vector.FuncRepRelatedG-import Data.SubG+import Data.SubG hiding (takeWhile,dropWhile) import System.Environment import Data.Maybe import Text.Read (readMaybe)@@ -45,33 +46,32 @@ -- The rest of the command line arguments is the Ukrainian text. -- -- The most interesting is the first line of the output. But other ones also are noteworthy.+--+-- You can specify constraints according to the 'decodeLConstraints' function between +A and -A command line arguments. If so, the program will+-- ask you additional question before proceeding. main :: IO () main = do- args <- getArgs- let coeffs = readCF . concat . take 1 $ args -- The first command line argument. If not sure, just pass \"1_\".+ args0 <- getArgs+ let args = takeWhile (/= "+A") args0 `mappend` (drop 1 . dropWhile (/= "-A") $ args0)+     (!numericArgs,!textualArgs) = L.span (all isDigit) . drop 1 $ args+     !xs = concat . take 1 . fLines . unwords . drop 1 $ textualArgs+     !l = length . words $ xs+     argCs = catMaybes (fmap (readMaybeECG l) . drop 1 . dropWhile (/= "+A") . takeWhile (/= "-A") $ args0)+     coeffs = readCF . concat . take 1 $ args -- The first command line argument. If not sure, just pass \"1_\".      !whspss = VB.fromList " 01-"- if isPair coeffs then do-  let (!numericArgs,!textualArgs) = L.span (all isDigit) . drop 1 $ args-      !arg0 = fromMaybe 1 $ (readMaybe (concat . take 1 $ numericArgs)::Maybe Int)-      !numberI = fromMaybe 1 $ (readMaybe (concat . drop 1 . take 2 $ numericArgs)::Maybe Int)-      !choice = concat . take 1 $ textualArgs-      !xs = concat . take 1 . fLines . unwords . drop 1 $ textualArgs-      !l = length . words $ xs-      !v = VB.fromList xs-      !perms = genPermutations l-      !subs = subG whspss v-  generalProc1 coeffs numericArgs arg0 numberI choice l perms subs v+     !arg0 = fromMaybe 1 $ (readMaybe (concat . take 1 $ numericArgs)::Maybe Int)+     !numberI = fromMaybe 1 $ (readMaybe (concat . drop 1 . take 2 $ numericArgs)::Maybe Int)+     !choice = concat . take 1 $ textualArgs+     !v = VB.fromList xs+     !subs = subG whspss v+ if null argCs then let !perms = genPermutations l in generalProc1 coeffs numericArgs arg0 numberI choice l perms subs v  else do-  let (!numericArgs,!textualArgs) = L.span (all isDigit) args-      !arg0 = fromMaybe 1 $ (readMaybe (concat . take 1 $ numericArgs)::Maybe Int)-      !numberI = fromMaybe 1 $ (readMaybe (concat . drop 1 . take 2 $ numericArgs)::Maybe Int)-      !choice = concat . take 1 $ textualArgs-      !xs = concat . take 1 . fLines . unwords . drop 1 $ textualArgs-      !l = length . words $ xs-      !v = VB.fromList xs-      !perms = genPermutations l-      !subs = subG whspss v-  generalProc1 coeffs numericArgs arg0 numberI choice l perms subs v+   putStr "Please, check whether the line below corresponds and is consistent with the data you have specified between the +A and -A optins. "+   putStrLn "If it is inconsistent then enter further \"n\", press Enter and then run the program again with better arguments. "+   putStrLn "If the line is consistent with your input between +A and -A then just press Enter to proceed further. "+   correct <- getLine+   if correct == "n" then putStrLn "You stopped the program, please, if needed, run it again with better arguments. "+   else let !perms = decodeLConstraints argCs . genPermutations $ l in generalProc1 coeffs numericArgs arg0 numberI choice l perms subs v  generalProc1 :: Coeffs2 -> [String] -> Int -> Int -> String -> Int -> VB.Vector (VB.Vector Int) -> VB.Vector (VB.Vector Char) -> VB.Vector Char -> IO () generalProc1 coeffs numericArgs arg0 numberI choice l perms subs v = do
phonetic-languages-examples.cabal view
@@ -2,7 +2,7 @@ -- further documentation, see http://haskell.org/cabal/users-guide/  name:                phonetic-languages-examples-version:             0.3.3.0+version:             0.4.0.0 synopsis:            A generalization of the uniqueness-periods-vector-examples functionality. description:         Is intended to use more functionality of the Data.Vector, Data.Foldable, Data.Monoid and Data.SubG modules. homepage:            https://hackage.haskell.org/package/phonetic-languages-examples@@ -20,7 +20,7 @@   exposed-modules:     Languages.UniquenessPeriods.Vector.FuncRepRelatedG   -- other-modules:   other-extensions:    BangPatterns-  build-depends:       base >=4.7 && <4.15, phonetic-languages-vector >=0.1 && <1, phonetic-languages-common >=0.1.1 && <1, phonetic-languages-properties >=0.3 && <1, vector >=0.11 && < 0.14, mmsyn2 >=0.3 && <1+  build-depends:       base >=4.7 && <4.15, phonetic-languages-vector >=0.1 && <1, phonetic-languages-common >=0.1.1 && <1, phonetic-languages-properties >=0.3 && <1, vector >=0.11 && < 0.14, mmsyn2 >=0.3 && <1, phonetic-languages-constraints >=0.3.1 && <1   -- hs-source-dirs:   default-language:    Haskell2010 @@ -28,7 +28,7 @@   main-is:             Main.hs   other-modules:       Languages.UniquenessPeriods.Vector.FuncRepRelatedG   other-extensions:    BangPatterns-  build-depends:       base >=4.7 && <4.15, ukrainian-phonetics-basic >=0.2.0.2 && <1, vector >=0.11 && <0.14, phonetic-languages-vector >=0.1 && <1, phonetic-languages-general >=0.1 && < 1, phonetic-languages-common >=0.1.1 && <1, phonetic-languages-properties >=0.3 && <1, print-info >=0.1.3 && <1, phonetic-languages-ukrainian >=0.2.3 && <1, parallel >=3.2.0.6 && <4, uniqueness-periods-vector-filters >=0.3 && <1, vector >=0.11 && <0.14, phonetic-languages-plus >=0.1 && <1, subG >=0.1.1.1 && < 1, mmsyn2 >= 0.3 && <1+  build-depends:       base >=4.7 && <4.15, ukrainian-phonetics-basic >=0.2.0.2 && <1, vector >=0.11 && <0.14, phonetic-languages-vector >=0.1 && <1, phonetic-languages-general >=0.1 && < 1, phonetic-languages-common >=0.1.1 && <1, phonetic-languages-properties >=0.3 && <1, print-info >=0.1.3 && <1, phonetic-languages-ukrainian >=0.2.3 && <1, parallel >=3.2.0.6 && <4, uniqueness-periods-vector-filters >=0.3 && <1, vector >=0.11 && <0.14, phonetic-languages-plus >=0.1 && <1, subG >=0.1.1.1 && < 1, mmsyn2 >= 0.3 && <1, phonetic-languages-constraints >=0.3.1 && <1   ghc-options:         -threaded -rtsopts   hs-source-dirs:      ., Simple   default-language:    Haskell2010@@ -37,7 +37,7 @@   main-is:             Main.hs   other-modules:       Languages.UniquenessPeriods.Vector.FuncRepRelatedG   other-extensions:    BangPatterns-  build-depends:       base >=4.7 && <4.15, ukrainian-phonetics-basic >=0.2.0.2 && <1, vector >=0.11 && <0.14, phonetic-languages-vector >=0.1 && <1, phonetic-languages-general >=0.1 && < 1, phonetic-languages-common >=0.1.1 && <1, phonetic-languages-properties >=0.3 && <1, print-info >=0.1.3 && <1, phonetic-languages-ukrainian >=0.2.3 && <1, parallel >=3.2.0.6 && <4, uniqueness-periods-vector-filters >=0.3 && <1, vector >=0.11 && <0.14, phonetic-languages-plus >=0.1 && <1, subG >= 0.1.1.1 && < 1, phonetic-languages-rhythmicity >=0.1.2 && <1, mmsyn2 >=0.3 && <1+  build-depends:       base >=4.7 && <4.15, ukrainian-phonetics-basic >=0.2.0.2 && <1, vector >=0.11 && <0.14, phonetic-languages-vector >=0.1 && <1, phonetic-languages-general >=0.1 && < 1, phonetic-languages-common >=0.1.1 && <1, phonetic-languages-properties >=0.3 && <1, print-info >=0.1.3 && <1, phonetic-languages-ukrainian >=0.2.3 && <1, parallel >=3.2.0.6 && <4, uniqueness-periods-vector-filters >=0.3 && <1, vector >=0.11 && <0.14, phonetic-languages-plus >=0.1 && <1, subG >= 0.1.1.1 && < 1, phonetic-languages-rhythmicity >=0.1.2 && <1, mmsyn2 >=0.3 && <1, phonetic-languages-constraints >=0.3.1 && <1   ghc-options:         -threaded -rtsopts   hs-source-dirs:      ., Lines   default-language:    Haskell2010@@ -46,7 +46,7 @@   main-is:             Main.hs   other-modules:       Languages.UniquenessPeriods.Vector.FuncRepRelatedG   other-extensions:    BangPatterns-  build-depends:       base >=4.7 && <4.15, ukrainian-phonetics-basic >=0.2.0.2 && <1, vector >=0.11 && <0.14, phonetic-languages-vector >=0.1 && <1, phonetic-languages-general >=0.1 && < 1, phonetic-languages-common >=0.1.1 && <1, phonetic-languages-properties >=0.3 && <1, phonetic-languages-ukrainian >=0.2.3 && <1, uniqueness-periods-vector-filters >=0.3 && <1, uniqueness-periods-vector-stats >=0.1.2 && <1, parallel >=3.2.0.6 && <4, phonetic-languages-plus >=0.1 && <1, subG >= 0.1.1.1 && < 1, phonetic-languages-rhythmicity >=0.1.2 && <1, mmsyn2 >=0.3 && <1+  build-depends:       base >=4.7 && <4.15, ukrainian-phonetics-basic >=0.2.0.2 && <1, vector >=0.11 && <0.14, phonetic-languages-vector >=0.1 && <1, phonetic-languages-general >=0.1 && < 1, phonetic-languages-common >=0.1.1 && <1, phonetic-languages-properties >=0.3 && <1, phonetic-languages-ukrainian >=0.2.3 && <1, uniqueness-periods-vector-filters >=0.3 && <1, uniqueness-periods-vector-stats >=0.1.2 && <1, parallel >=3.2.0.6 && <4, phonetic-languages-plus >=0.1 && <1, subG >= 0.1.1.1 && < 1, phonetic-languages-rhythmicity >=0.1.2 && <1, mmsyn2 >=0.3 && <1, phonetic-languages-constraints >=0.3.1 && <1   ghc-options:         -threaded -rtsopts   hs-source-dirs:      ., GetInfo   default-language:    Haskell2010