phonetic-languages-simplified-examples-array 0.3.0.0 → 0.4.0.0
raw patch · 7 files changed
+100/−64 lines, 7 filesdep ~phonetic-languages-rhythmicitydep ~phonetic-languages-simplified-properties-arrayPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: phonetic-languages-rhythmicity, phonetic-languages-simplified-properties-array
API changes (from Hackage documentation)
+ Phonetic.Languages.Simple: messageInfo :: Int -> Bool -> String
- Phonetic.Languages.Simple: finalProc :: Bool -> (a -> String) -> [a] -> IO String
+ Phonetic.Languages.Simple: finalProc :: Bool -> Bool -> (a -> String) -> [a] -> IO String
- Phonetic.Languages.Simple: generalProc2 :: Bool -> Bool -> [String] -> Coeffs2 -> [String] -> Bool -> IO String
+ Phonetic.Languages.Simple: generalProc2 :: Bool -> Bool -> Bool -> [String] -> Coeffs2 -> [String] -> Bool -> IO String
- Phonetic.Languages.Simple: generalProc2G :: FilePath -> Bool -> Bool -> [String] -> Coeffs2 -> [String] -> Bool -> IO ()
+ Phonetic.Languages.Simple: generalProc2G :: Bool -> FilePath -> Bool -> Bool -> [String] -> Coeffs2 -> [String] -> Bool -> IO ()
- Phonetic.Languages.Simple: generalProcMMs :: Bool -> Coeffs2 -> [([Int], Int, Int, String)] -> [Array Int Int] -> [String] -> IO String
+ Phonetic.Languages.Simple: generalProcMMs :: Bool -> Bool -> Coeffs2 -> [([Int], Int, Int, String)] -> [Array Int Int] -> [String] -> IO String
- Phonetic.Languages.Simple: interactivePrintResult :: (a -> String) -> [a] -> IO String
+ Phonetic.Languages.Simple: interactivePrintResult :: Bool -> (a -> String) -> [a] -> IO String
- Phonetic.Languages.Simple: printWarning :: String -> IO String
+ Phonetic.Languages.Simple: printWarning :: Bool -> String -> IO String
Files
- CHANGELOG.md +8/−0
- LICENSE +1/−1
- Phonetic/Languages/Simple.hs +51/−35
- Phonetic/Languages/Simplified/Array/Ukrainian/FuncRep2RelatedG2.hs +13/−12
- README.md +18/−8
- Simple/Main.hs +4/−3
- phonetic-languages-simplified-examples-array.cabal +5/−5
CHANGELOG.md view
@@ -31,3 +31,11 @@ * Third version. The package has the multiple variations mode for lineVariantsG3 executable that allows to use modifications in the text, e. g. synonyms, paraphrases etc. Added more variants of the properties based on the new dataset for r-glpk-phonetic-languages-ukrainian-durations package. Added a new module Phonetic.Languages.Parsing for the new functionality. Removed unneeded print-info dependency.++## 0.4.0.0 -- 2021-02-01++* Fourth version. Added new line of rhythmicity evaluation functions ("z"-line). The behaviour of the previous functions also+changed, so it may be needed (in case where the results have some principal meaning, e. g. in scientific research,+not the text itself) to recalculate the results using these functions. Added the possibility to get the Ukrainian+informational messages during the work of the lineVariantsG3 executable (using the "+U" command line option not inside+the groups of options). Some documentation improvements.
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2020 OleksandrZhabenko+Copyright (c) 2020-2021 OleksandrZhabenko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the
Phonetic/Languages/Simple.hs view
@@ -9,7 +9,8 @@ -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com ----- The library functions for the lineVariantsG3 executable.+-- The library functions for the lineVariantsG3 executable. Since 0.4.0.0 version it supports printing of the informational+-- messages both in English and Ukrainian. module Phonetic.Languages.Simple where @@ -44,25 +45,25 @@ -- | -- @ since 0.3.0.0 -- Is used to do general processment.-generalProc2G :: FilePath -> Bool -> Bool -> [String] -> Coeffs2 -> [String] -> Bool -> IO ()-generalProc2G toFile1 interactive jstL0 args0 coeffs args lstW2+generalProc2G :: Bool -> FilePath -> Bool -> Bool -> [String] -> Coeffs2 -> [String] -> Bool -> IO ()+generalProc2G nativeUkrainian toFile1 interactive jstL0 args0 coeffs args lstW2 | variations args = do let !zsss = transformToVariations args print zsss- variantsG <- mapM (\xss -> generalProc2 interactive jstL0 args0 coeffs xss lstW2) zsss- interactivePrintResult id variantsG >>= \rs ->+ variantsG <- mapM (\xss -> generalProc2 nativeUkrainian interactive jstL0 args0 coeffs xss lstW2) zsss+ interactivePrintResult nativeUkrainian id variantsG >>= \rs -> case toFile1 of "" -> return () ~fileName -> appendFile fileName (rs `mappend` newLineEnding)- | otherwise = generalProc2 interactive jstL0 args0 coeffs args lstW2 >>= \rs ->+ | otherwise = generalProc2 nativeUkrainian interactive jstL0 args0 coeffs args lstW2 >>= \rs -> case toFile1 of "" -> return () ~fileName -> appendFile fileName (rs `mappend` newLineEnding) -- | -- @ since 0.3.0.0 The result is not 'IO' (), but 'IO' 'String'. The type also changed generally.-generalProc2 :: Bool -> Bool -> [String] -> Coeffs2 -> [String] -> Bool -> IO String-generalProc2 interactive jstL0 args0 coeffs args lstW2 = do+generalProc2 :: Bool -> Bool -> Bool -> [String] -> Coeffs2 -> [String] -> Bool -> IO String+generalProc2 nativeUkrainian interactive jstL0 args0 coeffs args lstW2 = do let !argMss = take 5 . filter (not . null) . forMultiplePropertiesF . drop 1 . dropWhile (/= "+M") . takeWhile (/= "-M") $ args0 if null argMss then do let (!numericArgs,!textualArgs) = L.span (all isDigit) $ args@@ -75,18 +76,18 @@ !intervalNmbrs = (\zs -> if null zs then [numberI] else L.nub zs) . L.sort . filter (<= numberI) . map (\t -> fromMaybe numberI $ (readMaybe t::Maybe Int)) . drop 2 $ numericArgs if compare l 2 == LT then let !frep20 = chooseMax id coeffs choice in let !wwss = (:[]) . toResultR frep20 $ xs in- if interactive then interactivePrintResult line wwss else print1el jstL0 choice wwss+ if interactive then interactivePrintResult nativeUkrainian line wwss else print1el jstL0 choice wwss else do let !subs = subG " 01-" xs if null argCs then let !perms = genPermutationsL l in do temp <- generalProcMs coeffs perms subs (intervalNmbrs, arg0, numberI, choice)- if interactive then interactivePrintResult line temp else print1el jstL0 choice temp+ if interactive then interactivePrintResult nativeUkrainian line temp else print1el jstL0 choice temp else do- correct <- printWarning xs- if correct == "n" then putStrLn "You stopped the program, please, if needed, run it again with better arguments. " >> return "" -- for the multiple variations mode (with curly brackets and slash in the text) the program does not stop here, but the variation is made empty and is proposed further as a variant.+ correct <- printWarning nativeUkrainian xs+ if correct == "n" then putStrLn (messageInfo 1 nativeUkrainian) >> return "" -- for the multiple variations mode (with curly brackets and slash in the text) the program does not stop here, but the variation is made empty and is proposed further as a variant. else let !perms = decodeLConstraints argCs . genPermutationsL $ l in do temp <- generalProcMs coeffs perms subs (intervalNmbrs, arg0, numberI, choice)- if interactive then interactivePrintResult line temp else print1el jstL0 choice temp+ if interactive then interactivePrintResult nativeUkrainian line temp else print1el jstL0 choice temp else do let !choices = map fst argMss !numericArgss = map snd argMss@@ -99,36 +100,51 @@ !xs = concat . take 1 . fLines 0 . unwords $ args !l = length . words $ xs !argCs = catMaybes (fmap (readMaybeECG (l - 1)) . (showB l lstW2:) . drop 1 . dropWhile (/= "+A") . takeWhile (/= "-A") $ args0)- if compare l 2 == LT then let !frep20 = chooseMax id coeffs (concat . take 1 $ choices) in let !wwss = (:[]) . toResultR frep20 $ xs in if interactive then interactivePrintResult line wwss else print1el jstL0 (concat . take 1 $ choices) wwss+ if compare l 2 == LT then let !frep20 = chooseMax id coeffs (concat . take 1 $ choices) in let !wwss = (:[]) . toResultR frep20 $ xs in if interactive then interactivePrintResult nativeUkrainian line wwss else print1el jstL0 (concat . take 1 $ choices) wwss else do let !subs = subG " 01-" xs- if null argCs then let !perms = genPermutationsL l in generalProcMMs interactive coeffs argsZipped perms subs+ if null argCs then let !perms = genPermutationsL l in generalProcMMs nativeUkrainian interactive coeffs argsZipped perms subs else do- correct <- printWarning xs- if correct == "n" then putStrLn "You stopped the program, please, if needed, run it again with better arguments. " >> return "" -- for the multiple variations mode (with curly brackets and slash in the text) the program does not stop here, but the variation is made empty and is proposed further as a variant.- else let !perms = decodeLConstraints argCs . genPermutationsL $ l in generalProcMMs interactive coeffs argsZipped perms subs+ correct <- printWarning nativeUkrainian xs+ if correct == "n" then putStrLn (messageInfo 1 nativeUkrainian) >> return "" -- for the multiple variations mode (with curly brackets and slash in the text) the program does not stop here, but the variation is made empty and is proposed further as a variant.+ else let !perms = decodeLConstraints argCs . genPermutationsL $ l in generalProcMMs nativeUkrainian interactive coeffs argsZipped perms subs +{-|+-- @ since 0.4.0.0+Function provides localized message information. If the 'Bool' argument is 'True' then it gives result in Ukrainian, otherwise -- in English.+-}+messageInfo :: Int -> Bool -> String+messageInfo n True+ | n == 1 = "Ви зупинили програму, будь ласка, якщо потрібно, виконайте її знову з кращими аргументами. "+ | n == 2 = "Будь ласка, вкажіть варіант (який Ви бажаєте, щоб він став результуючим рядком) за його номером. "+ | n == 3 = "Будь ласка, перевірте, чи рядок нижче відповідає і узгоджується з обмеженнями, які Ви вказали між +A та -A опціями. Перевірте також, чи Ви вказали \"++B\" чи \"++BL\" опцію(ї). Якщо введені опції та аргументи не узгоджені з виведеним далі рядком, тоді введіть далі \"n\", натисніть Enter і опісля запустіть програму на виконання знову з кращими аргументами. " `mappend` newLineEnding `mappend` "Якщо рядок узгоджується з Вашим вводом між +A та -A, тоді просто натисніть Enter, щоб продовжити далі. " `mappend` newLineEnding+ | n == 4 = "Було задано недостатньо інформації для продовження обчислювального процесу "+ | otherwise = "Ви вказали лише один варіант властивостей. "+messageInfo n False+ | n == 1 = "You stopped the program, please, if needed, run it again with better arguments. "+ | n == 2 = "Please, specify the variant which you would like to become the resulting string by its number. "+ | n == 3 = "Please, check whether the line below corresponds and is consistent with the constraints you have specified between the +A and -A options. Check also whether you have specified the \"++B\" or \"++BL\" option(s). If it is inconsistent then enter further \"n\", press Enter and then run the program again with better arguments. " `mappend` newLineEnding `mappend` "If the line is consistent with your input between +A and -A then just press Enter to proceed further. " `mappend` newLineEnding+ | n == 4 = "No data has been specified to control the computation process. "+ | otherwise = "You have specified just one variant of the properties. "+ -- | -- @ since 0.3.0.0 The result is not 'IO' (), but 'IO' 'String'. The type also changed generally.-interactivePrintResult :: (a -> String) -> [a] -> IO String-interactivePrintResult f xss+interactivePrintResult :: Bool -> (a -> String) -> [a] -> IO String+interactivePrintResult nativeUkrainian f xss | null xss = putStrLn "" >> return "" | otherwise = do let !datas = map (\(idx,str) -> show idx `mappend` ('\t' : str)) . trans232 . map f $ xss mapM_ putStrLn datas putStrLn ""- putStrLn "Please, specify the variant which you would like to become the resulting string by its number. "+ putStrLn . messageInfo 2 $ nativeUkrainian number <- getLine let !lineRes = concat . filter ((number `mappend` "\t")`L.isPrefixOf`) $ datas !ts = drop 1 . dropWhile (/= '\t') $ lineRes putStrLn ts >> return ts -printWarning :: String -> IO String-printWarning xs = do- putStr "Please, check whether the line below corresponds and is consistent with the constraints you have specified between the +A and -A options. "- putStr "Check also whether you have specified the \"++B\" or \"++BL\" option(s). "- 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. "+printWarning :: Bool -> String -> IO String+printWarning nativeUkrainian xs = do+ putStrLn . messageInfo 3 $ nativeUkrainian putStrLn xs getLine @@ -145,16 +161,16 @@ -- | -- @ since 0.3.0.0 The result is not 'IO' (), but 'IO' 'String'. The type also changed generally.-generalProcMMs :: Bool -> Coeffs2 -> [([Int],Int,Int,String)] -> [Array Int Int] -> [String] -> IO String-generalProcMMs interactiveMM coeffs rs perms subs =+generalProcMMs :: Bool -> Bool -> Coeffs2 -> [([Int],Int,Int,String)] -> [Array Int Int] -> [String] -> IO String+generalProcMMs nativeUkrainian interactiveMM coeffs rs perms subs = case length rs of- 0 -> putStrLn "No data has been specified to control the computation process. " >> return ""- 1 -> putStrLn "You have specified just one variant of the metrices. " >> do+ 0 -> putStrLn (messageInfo 4 nativeUkrainian) >> return ""+ 1 -> putStrLn (messageInfo 5 nativeUkrainian) >> do temp <- generalProcMs coeffs perms subs (head rs)- finalProc interactiveMM line temp+ finalProc nativeUkrainian interactiveMM line temp _ -> do genVariants <- mapM (generalProcMs coeffs perms subs) rs- finalProc interactiveMM id . foldlI . map (map line) $ genVariants+ finalProc nativeUkrainian interactiveMM id . foldlI . map (map line) $ genVariants foldlI :: [[String]] -> [String] foldlI (xs:ys:xss) = foldlI (intersectInterResults xs ys : xss)@@ -163,8 +179,8 @@ -- | -- @ since 0.3.0.0 The result is not 'IO' (), but 'IO' 'String'. The type also changed generally.-finalProc :: Bool -> (a -> String) -> [a] -> IO String-finalProc bool f xss = if bool then interactivePrintResult f xss else putStrLn ts >> return ts+finalProc :: Bool -> Bool -> (a -> String) -> [a] -> IO String+finalProc nativeUkrainian bool f xss = if bool then interactivePrintResult nativeUkrainian f xss else putStrLn ts >> return ts where ts = concatMap (\t -> f t `mappend` newLineEnding) xss -- |
Phonetic/Languages/Simplified/Array/Ukrainian/FuncRep2RelatedG2.hs view
@@ -18,18 +18,19 @@ -- | Allows to choose the variant of the computations in case of usual processment. chooseMax :: (Ord c) => (Double -> c) -> Coeffs2 -> String -> FuncRep2 String Double c-chooseMax g coeffs choice- | isPair coeffs = getBFstL' (procBoth4InvF g coeffs) [("02y",procRhythmicity23F g "02y" coeffs),- ("03y",procRhythmicity23F g "03y" coeffs), ("04y",procRhythmicity23F g "04y" coeffs),- ("0y",procRhythmicity23F g "0y" coeffs), ("y",procBothF g coeffs),("y0",procDiverse2F g),+chooseMax g coeffs choice = getBFstL' (procBoth4InvF g coeffs) [("02y",procRhythmicity23F 1.3 g "02y" coeffs),+ ("02z",procRhythmicity23F 1.3 g "02z" coeffs), ("03y",procRhythmicity23F 1.3 g "03y" coeffs),+ ("03z",procRhythmicity23F 1.3 g "03z" coeffs), ("04y",procRhythmicity23F 1.3 g "04y" coeffs),+ ("04z",procRhythmicity23F 1.3 g "04z" coeffs), ("0y",procRhythmicity23F 1.3 g "0y" coeffs),+ ("0z",procRhythmicity23F 1.3 g "0z" coeffs), ("y",procBothF g coeffs),("y0",procDiverse2F g), ("y2",procBoth2F g coeffs),("y3",procBoth3F g coeffs), ("y4",procBoth4F g coeffs), ("yy",procBothInvF g coeffs),- ("yy2",procBoth2InvF g coeffs),("yy3",procBoth3InvF g coeffs)] choice- | otherwise = getBFstL' (procBoth4InvF g coeffs) [("02y",procRhythmicity23F g "02y" coeffs),- ("03y",procRhythmicity23F g "03y" coeffs),("04y",procRhythmicity23F g "04y" coeffs),- ("0y",procRhythmicity23F g "0y" coeffs), ("y",procBothF g coeffs),("y0",procDiverse2F g),- ("y2",procBoth2F g coeffs),("y3",procBoth3F g coeffs), ("y4",procBoth4F g coeffs),- ("yy",procBothInvF g coeffs),("yy2",procBoth2InvF g coeffs),("yy3",procBoth3InvF g coeffs)] choice-+ ("yy2",procBoth2InvF g coeffs),("yy3",procBoth3InvF g coeffs), ("z",procBothFF 1.3 g coeffs),+ ("z2",procBoth2FF 1.3 g coeffs), ("z3",procBoth3FF 1.3 g coeffs), ("z4",procBoth4FF 1.3 g coeffs),+ ("zz",procBothInvFF 1.3 g coeffs), ("zz2",procBoth2InvFF 1.3 g coeffs),("zz3",procBoth3InvFF 1.3 g coeffs),+ ("zz4", procBoth4InvFF 1.3 g coeffs)] choice+ -- | Allows to choose precision in the Numeric.showFDouble function being given a choice parameter. precChoice :: String -> Maybe Int-precChoice = getBFstL' (Just 4) [("02y",Just 0),("03y",Just 0),("04y",Just 0),("0y",Just 0),("y",Just 0),("y0",Just 0),("y2",Just 0),("y3",Just 0), ("y4",Just 0)]+precChoice = getBFstL' (Just 4) [("02y",Just 0),("02z",Just 0),("03y",Just 0),("03z",Just 0),("04y",Just 0),+ ("04z",Just 0),("0y",Just 0),("0z",Just 0),("y",Just 0),("y0",Just 0),("y2",Just 0),("y3",Just 0), ("y4",Just 0),+ ("z",Just 0),("z0",Just 0),("z2",Just 0),("z3",Just 0), ("z4",Just 0)]
README.md view
@@ -1,12 +1,19 @@ The short (possibly) instruction how to use the programs of the package phonetic-languages-simplified-examples-array in Ukrainian is here: -https://web.archive.org/web/20210127214219/https://oleksandrzhabenko.github.io/uk/Instruction_phonetic-languages-simplified-examples-array-0.3.0.0.pdf+http://web.archive.org/web/20210201220649/https://oleksandrzhabenko.github.io/uk/Instruction_phonetic-languages-simplified-examples-array-0.4.0.0.pdf Since the version 0.2.0.0 there exist also comparative mode for the rewritePoemG3 executable. It allows to create from two files with the text variants the new one. For more information in Ukrainian, please, refer to the instruction above to the part of the rewritePoemG3 executable. +Since the version 0.4.0.0 added new line of rhythmicity evaluation functions ("z"-line).+The behaviour of the previous functions also +changed, so it may be needed (in case where the results have some principal meaning, e. g. in scientific research,+not the text itself) to recalculate the results using these functions. Added the possibility to get the Ukrainian+informational messages during the work of the lineVariantsG3 executable (using the "+U" command line option not inside+the groups of options).+ * Examples of usage 1) lineVariantsG3:@@ -19,17 +26,20 @@ More partucular example of the abovementioned one: -lineVariantsG3 10.0_1.2 yy2 садок вишневий коло хати хрущі над вишнями гудуть (the Ukrainian text here and further is+lineVariantsG3 10.0_1.2 zz2 садок вишневий коло хати хрущі над вишнями гудуть (the Ukrainian text here and further is from the Taras Shevchenko poem) -lineVariantsG3 10.0_1.2 5 5 1 2 04y садок вишневий коло хати хрущі над вишнями гудуть +lineVariantsG3 10.0_1.2 5 5 1 2 04z садок вишневий коло хати хрущі над вишнями гудуть -lineVariantsG3 +M 02y 3 03y 3 y0 10 -M ++BL <Ukrainian text>+lineVariantsG3 +M 02y 3 03z 3 y0 10 -M ++BL <Ukrainian text> -lineVariantsG3 ++I ++BL 4.3_ +M 02y 3 0y 3 y0 20 y2 40 -M садок вишневий коло хати хрущі над вишнями гудуть+lineVariantsG3 ++I ++BL 4.3_ +M 02y 3 0y 3 y0 20 y2 40 04z 3 -M садок вишневий коло хати хрущі над вишнями гудуть -lineVariantsG3 +IF hello.txt -IF ++BL +M 02y 3 0y 3 04y 5 y0 40 y4 50 -M садок вишневий коло хати хрущі над вишнями гудуть+lineVariantsG3 +IF hello.txt -IF ++BL +M 02y 3 0y 3 04y 5 y0 40 z4 50 -M садок вишневий коло хати хрущі над вишнями гудуть +To get the Ukrainian informational messages during the work of the executable (instead of the default English ones), please,+use the "+U" command line option anywhere not inside the groups of the options.+ You can also use multiple variations mode to look at the synonyms, paraphrases etc. For this, use instead of just the text as the last arguments the following special construction:@@ -53,9 +63,9 @@ PowerShell -Command "propertiesTextG3 <first argument> <file with Ukrainian text> <control of the quantity of the intervals> <control of printing the line of the text, too> <control of the sectioning into the lines> <property type> | distributionTexG <the same argument of the quantity of the lines> <whether to output also by-line statistics>” -propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 +M y0 0y 02y 03y y2 y3 yyy -M+propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 +M y0 0y 02z 03y z2 y3 yyy -M -propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 03y ++B | distributionTextG s 1 +W+propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 03z ++B | distributionTextG s 1 +W propertiesTextG3 <filepath to the file with the Ukrainina text for analysis> @n
Simple/Main.hs view
@@ -31,9 +31,10 @@ main :: IO () main = do args00 <- getArgs- let args0 = filter (\xs -> xs /= "++B" && xs /= "++L" && xs /= "++BL" && xs /= "++I") args00+ let args0 = filter (\xs -> xs /= "++B" && xs /= "++L" && xs /= "++BL" && xs /= "++I" && xs /= "+U") args00 lstW = if any (\x -> x == "++B" || x == "++BL") args00 then True else False -- If one of the command line options is \"++B\" or \"++BL\" then the last word of the line will remain the last one. jstL0 = if any (\x -> x == "++L" || x == "++BL") args00 then True else False -- If one of the command line options is \"++L\" or \"++BL\" then the program outputs just lines without metrices values.+ nativeUkrainian = if any (== "+U") args00 then True else False -- If one of the command line options is \"+U\" then the informational messages are printed in Ukrainian, otherwise (the default behaviour) they are in English. toFileMode1 = concat . take 1 . drop 1 . dropWhile (/= "+IF") . takeWhile (/= "-IF") $ args0 -- Prints the last resulting line of the interactive mode processment (the last selected variant) to the file and also to the stdout. interactiveP = if any (\xs -> xs == "++I" || xs == "+IF") args00 then True else False -- If one of the command line options is \"++I\", or \"+IF\" then the program prints the variants and then prompts for the preferred variant. Afterwards, it prints just that variant alone. args01 = takeWhile (/= "+A") args0 `mappend` (drop 1 . dropWhile (/= "-A") $ args0)@@ -42,5 +43,5 @@ | otherwise = takeWhile (/= "+IF") args01 `mappend` (drop 1 . dropWhile (/= "-IF") $ args01) args = takeWhile (/= "+M") args02 `mappend` (drop 1 . dropWhile (/= "-M") $ args02) coeffs = readCF . concat . take 1 $ args -- The first command line argument. - if isPair coeffs then generalProc2G toFileMode1 interactiveP jstL0 args0 coeffs (drop 1 args) lstW- else generalProc2G toFileMode1 interactiveP jstL0 args0 coeffs args lstW+ if isPair coeffs then generalProc2G nativeUkrainian toFileMode1 interactiveP jstL0 args0 coeffs (drop 1 args) lstW+ else generalProc2G nativeUkrainian toFileMode1 interactiveP jstL0 args0 coeffs args lstW
phonetic-languages-simplified-examples-array.cabal view
@@ -2,7 +2,7 @@ -- further documentation, see http://haskell.org/cabal/users-guide/ name: phonetic-languages-simplified-examples-array-version: 0.3.0.0+version: 0.4.0.0 synopsis: Helps to create Ukrainian texts with the given phonetic properties. description: Uses more functionality of the arrays and lists. The vector-related functionality is removed and this made the executables and libraries much more lightweight. Deal the Ukrainian as one of the phonetic languages. For the short introduction in English, please, refer to: https://functional-art.org/2020/papers/Poetry-OleksandrZhabenko.pdf. Since the version 0.3.0.0 the package has the multiple variations mode for @lineVariantsG3@ executable that allows to use modifications in the text, e. g. synonyms, paraphrases etc. homepage: https://hackage.haskell.org/package/phonetic-languages-simplified-examples-array@@ -20,7 +20,7 @@ exposed-modules: Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2, Phonetic.Languages.Simple, Phonetic.Languages.Lines, Phonetic.Languages.GetTextualInfo, Phonetic.Languages.Parsing -- other-modules: other-extensions: BangPatterns- build-depends: base >=4.8 && <4.15, ukrainian-phonetics-basic-array >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, phonetic-languages-simplified-properties-array >=0.1.2 && <1, phonetic-languages-ukrainian-array >=0.1 && <1, phonetic-languages-filters-array >=0.1 && <1, uniqueness-periods-vector-stats >=0.2.1 && <1, parallel >=3.2.0.6 && <4, phonetic-languages-plus >=0.2 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.1.2 && <1, phonetic-languages-permutations-array >= 0.1 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-simplified-examples-common >=0.1.1 && <1, mmsyn2-array >= 0.1.1 && <1+ build-depends: base >=4.8 && <4.15, ukrainian-phonetics-basic-array >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, phonetic-languages-simplified-properties-array >=0.2 && <1, phonetic-languages-ukrainian-array >=0.1 && <1, phonetic-languages-filters-array >=0.1 && <1, uniqueness-periods-vector-stats >=0.2.1 && <1, parallel >=3.2.0.6 && <4, phonetic-languages-plus >=0.2 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.2 && <1, phonetic-languages-permutations-array >= 0.1 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-simplified-examples-common >=0.1.1 && <1, mmsyn2-array >= 0.1.1 && <1 -- hs-source-dirs: default-language: Haskell2010 @@ -28,7 +28,7 @@ main-is: Main.hs other-modules: Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2, Phonetic.Languages.Simple, Phonetic.Languages.Parsing other-extensions: BangPatterns- build-depends: base >=4.8 && <4.15, ukrainian-phonetics-basic-array >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, phonetic-languages-simplified-properties-array >=0.1.2 && <1, phonetic-languages-ukrainian-array >=0.1 && <1, phonetic-languages-filters-array >=0.1 && <1, phonetic-languages-plus >=0.2 && <1, subG >=0.4 && < 1, mmsyn2-array >= 0.1.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-permutations-array >= 0.1 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-simplified-examples-common >=0.1.1 && <1+ build-depends: base >=4.8 && <4.15, ukrainian-phonetics-basic-array >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, phonetic-languages-simplified-properties-array >=0.2 && <1, phonetic-languages-ukrainian-array >=0.1 && <1, phonetic-languages-filters-array >=0.1 && <1, phonetic-languages-plus >=0.2 && <1, subG >=0.4 && < 1, mmsyn2-array >= 0.1.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-permutations-array >= 0.1 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-simplified-examples-common >=0.1.1 && <1 ghc-options: -threaded -rtsopts hs-source-dirs: ., Simple default-language: Haskell2010@@ -37,7 +37,7 @@ main-is: Main.hs other-modules: Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2, Phonetic.Languages.Lines, Phonetic.Languages.Parsing other-extensions: BangPatterns- build-depends: base >=4.8 && <4.15, ukrainian-phonetics-basic-array >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, phonetic-languages-simplified-properties-array >=0.1.2 && <1, phonetic-languages-ukrainian-array >=0.1 && <1, phonetic-languages-filters-array >=0.1 && <1, phonetic-languages-plus >=0.2 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.1.2 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-permutations-array >= 0.1 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-simplified-examples-common >=0.1.1 && <1, mmsyn2-array >= 0.1.1 && <1+ build-depends: base >=4.8 && <4.15, ukrainian-phonetics-basic-array >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, phonetic-languages-simplified-properties-array >=0.2 && <1, phonetic-languages-ukrainian-array >=0.1 && <1, phonetic-languages-filters-array >=0.1 && <1, phonetic-languages-plus >=0.2 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.2 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-permutations-array >= 0.1 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-simplified-examples-common >=0.1.1 && <1, mmsyn2-array >= 0.1.1 && <1 ghc-options: -threaded -rtsopts hs-source-dirs: ., Lines default-language: Haskell2010@@ -46,7 +46,7 @@ main-is: Main.hs other-modules: Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2, Phonetic.Languages.GetTextualInfo, Phonetic.Languages.Parsing other-extensions: BangPatterns- build-depends: base >=4.8 && <4.15, ukrainian-phonetics-basic-array >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, phonetic-languages-simplified-properties-array >=0.1.2 && <1, phonetic-languages-ukrainian-array >=0.1 && <1, phonetic-languages-filters-array >=0.1 && <1, uniqueness-periods-vector-stats >=0.2.1 && <1, parallel >=3.2.0.6 && <4, phonetic-languages-plus >=0.2 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.1.2 && <1, phonetic-languages-permutations-array >= 0.1 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-simplified-examples-common >=0.1.1 && <1, mmsyn2-array >= 0.1.1 && <1+ build-depends: base >=4.8 && <4.15, ukrainian-phonetics-basic-array >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, phonetic-languages-simplified-properties-array >=0.2 && <1, phonetic-languages-ukrainian-array >=0.1 && <1, phonetic-languages-filters-array >=0.1 && <1, uniqueness-periods-vector-stats >=0.2.1 && <1, parallel >=3.2.0.6 && <4, phonetic-languages-plus >=0.2 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.2 && <1, phonetic-languages-permutations-array >= 0.1 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-simplified-examples-common >=0.1.1 && <1, mmsyn2-array >= 0.1.1 && <1 ghc-options: -threaded -rtsopts hs-source-dirs: ., GetInfo default-language: Haskell2010