phonetic-languages-ukrainian-array 0.7.0.0 → 0.8.0.0
raw patch · 4 files changed
+19/−15 lines, 4 filesdep −hashabledep ~basedep ~mmsyn2-arrayPVP ok
version bump matches the API change (PVP)
Dependencies removed: hashable
Dependency ranges changed: base, mmsyn2-array
API changes (from Hackage documentation)
Files
- ChangeLog.md +5/−1
- Phonetic/Languages/Ukrainian/PrepareText.hs +8/−8
- Ukrainian/ReverseConcatenations.hs +3/−3
- phonetic-languages-ukrainian-array.cabal +3/−3
ChangeLog.md view
@@ -44,5 +44,9 @@ ## 0.7.0.0 -- 2021-10-30 -* Seventh version. Switched to the Case.Hashable.Cuckoo.getBFstL' function where possible. Updated the +* Seventh version. Switched to the Case.Hashable.Cuckoo.getBFstL' function where possible. Updated the dependencies appropriately.++## 0.8.0.0 -- 2021-10-31++* Eigth version. Switched back to the CaseBi.Arr.getBFstLSorted' functionality.
Phonetic/Languages/Ukrainian/PrepareText.hs view
@@ -44,7 +44,7 @@ , aux4 ) where -import Case.Hashable.Cuckoo (getBFstL')+import CaseBi.Arr (getBFstLSorted') import Data.List.InnToOut.Basic (mapI) import Data.Char (isAlpha,toLower) import GHC.Arr@@ -64,7 +64,7 @@ -- as a single word). This is needed to preserve basic grammar in phonetic languages. complexWords :: [String] -> [String] complexWords wwss@(xs:ys:zs:ts:xss) =- getBFstL' (xs:complexWords (ys:zs:ts:xss)) ([("\1074",+ getBFstLSorted' (xs:complexWords (ys:zs:ts:xss)) ([("\1074", if ys == "\1084\1110\1088\1091" && zs == "\1090\1086\1075\1086" && ts == "\1103\1082" then auxiliary2Inner (xs ++ ys ++ zs ++ ts) xss else auxiliary4 wwss), ("\1076\1072\1088\1084\1072", if ys == "\1097\1086"@@ -111,7 +111,7 @@ ("\1095\1077\1088\1077\1079", if ys == "\1090\1077" && zs == "\1097\1086" then auxiliary2Inner (xs ++ ys ++ zs) (ts:xss) else auxiliary4 wwss)]) xs complexWords wwss@(xs:ys:zs:xss) =- getBFstL' (xs:complexWords [ys,zs]) ([("\1076\1072\1088\1084\1072", if ys == "\1097\1086"+ getBFstLSorted' (xs:complexWords [ys,zs]) ([("\1076\1072\1088\1084\1072", if ys == "\1097\1086" then auxiliary3 wwss else auxiliary4 wwss), ("\1079\1072\1083\1077\1078\1085\1086", if ys == "\1074\1110\1076" then auxiliary3 wwss else auxiliary4 wwss), ("\1085\1077\1079\1072\1083\1077\1078\1085\1086",@@ -181,7 +181,7 @@ isPreposition :: String -> Bool isPreposition ts =- getBFstL' False+ getBFstLSorted' False (zip ["\1030\1079", "\1041\1077\1079", "\1041\1110\1083\1103", "\1042", "\1042\1110\1076", "\1044\1083\1103", "\1044\1086", "\1047", "\1047\1072", "\1047\1072\1088\1072\1076\1080", "\1047\1110",@@ -216,14 +216,14 @@ isConcatenated ts | null ts = False | otherwise = compare (length ts) 2 /= GT &&- getBFstL' True (zip ["\1028", "\1042\1080", "\1052\1080", "\1058\1080", "\1058\1110",+ getBFstLSorted' True (zip ["\1028", "\1042\1080", "\1052\1080", "\1058\1080", "\1058\1110", "\1062\1110", "\1071", "\1074\1080", "\1084\1080", "\1090\1080", "\1090\1110", "\1094\1110", "\1103", "\1108"] $ replicate 14 False) ts && (head ts `notElem` "\1031\1111") {-# INLINE isConcatenated #-} concatenated2 :: [String] -> [String] concatenated2 (xs:ys:xss) =- getBFstL' (xs:concatenated2 (ys:xss)) (zip ["\1040\1073\1086","\1040\1076\1078\1077",+ getBFstLSorted' (xs:concatenated2 (ys:xss)) (zip ["\1040\1073\1086","\1040\1076\1078\1077", "\1040\1083\1077","\1040\1085\1110\1078","\1041\1086\1076\1072\1081", "\1041\1091\1094\1110\1084\1090\1086","\1042\1078\1077","\1042\1080\1082\1083\1102\1095\1085\1086", "\1042\1083\1072\1089\1085\1077","\1042\1090\1110\1084","\1044\1072\1074\1072\1081",@@ -267,7 +267,7 @@ jottedConv :: String -> String jottedConv (x:y:xs)- | isSpC x = x:(getBFstL' (jottedConv (y:xs))+ | isSpC x = x:(getBFstLSorted' (jottedConv (y:xs)) [('\1028', '\1049':'\1077':jottedConv xs), ('\1031', '\1049':'\1110':jottedConv xs), ('\1070', '\1049':'\1091':jottedConv xs),@@ -293,7 +293,7 @@ -- | Is taken from the @mmsyn6ukr@ package version 0.8.1.0 so that the amount of dependencies are reduced (and was slightly modified). isUkrainianL :: Char -> Bool isUkrainianL y | (y >= '\1040' && y <= '\1065') || (y >= '\1070' && y <= '\1097') = True- | otherwise = getBFstL' False (map (\x -> (x, True)) $ "\1028\1030\1031\1068\1100\1102\1103\1108\1110\1111\1168\1169\8217") y+ | otherwise = getBFstLSorted' False (map (\x -> (x, True)) $ "\1028\1030\1031\1068\1100\1102\1103\1108\1110\1111\1168\1169\8217") y -------------------------------------
Ukrainian/ReverseConcatenations.hs view
@@ -21,7 +21,7 @@ #endif #endif import Data.List (sort,isPrefixOf)-import Case.Hashable.Cuckoo (getBFstL')+import CaseBi.Arr (getBFstLSorted') import Data.List.InnToOut.Basic (mapI) #ifdef __GLASGOW_HASKELL__ #if __GLASGOW_HASKELL__==708@@ -44,7 +44,7 @@ reverseConcat1 :: Int -> String -> [String] reverseConcat1 n xs | null xs = []- | otherwise = getBFstL' (if n == 2 then reverseConcat2 n xs ts us else [xs]) [+ | otherwise = getBFstLSorted' (if n == 2 then reverseConcat2 n xs ts us else [xs]) [ howConcat1WordEntirely n "\1040\1073\1086"us, ("\1040\1076\1078", howConcat1Word n 1 us "\1077" "\1040\1076\1078\1077" xs), howConcat1WordEntirely n "\1040\1083\1077" us,@@ -194,7 +194,7 @@ reverseConcat2 :: Int -> String -> String -> String -> [String] reverseConcat2 n xs ts us =- getBFstL' [xs] [("\1041\1110\1083", howConcat1Word n 1 us "\1103" "\1041\1110\1083\1103" xs),+ getBFstLSorted' [xs] [("\1041\1110\1083", howConcat1Word n 1 us "\1103" "\1041\1110\1083\1103" xs), ("\1042\1080\1082", howConcat1Word n 5 us "\1083\1102\1095\1085\1086" "\1042\1080\1082\1083\1102\1095\1085\1086" xs), ("\1044\1072\1074", howConcat1Word n 2 us "\1072\1081" "\1044\1072\1074\1072\1081" xs), ("\1047\1072\1090", howConcat1Word n 1 us "\1077" "\1047\1072\1090\1077" xs),
phonetic-languages-ukrainian-array.cabal view
@@ -2,7 +2,7 @@ -- further documentation, see http://haskell.org/cabal/users-guide/ name: phonetic-languages-ukrainian-array-version: 0.7.0.0+version: 0.8.0.0 synopsis: Prepares Ukrainian text to be used as a phonetic language text description: Applies needed minimal grammar connections so that the text afterwards can be processed by dobutokO-poetry or phonetic languages approach related programs. Uses arrays instead of vectors. Besides can be used to reverse many of the done concatenations. homepage: https://hackage.haskell.org/package/phonetic-languages-ukrainian-array@@ -20,7 +20,7 @@ exposed-modules: Phonetic.Languages.Ukrainian.PrepareText, Ukrainian.ReverseConcatenations -- other-modules: other-extensions: CPP, BangPatterns- build-depends: base >=4.9 && <4.16, mmsyn2-array >=0.2.1.1 && <1, mmsyn5 >=0.5 && <1, hashable >= 1.2.7 && <2+ build-depends: base >=4.8 && <4.16, mmsyn2-array >=0.3 && <1, mmsyn5 >=0.5 && <1 -- hs-source-dirs: default-language: Haskell2010 @@ -28,7 +28,7 @@ main-is: Main.hs other-modules: Ukrainian.ReverseConcatenations other-extensions: CPP, BangPatterns- build-depends: base >=4.9 && <4.16, mmsyn2-array >= 0.2.1.1 && <1, mmsyn5 >=0.5 && <1, hashable >= 1.2.7 && <2+ build-depends: base >=4.8 && <4.16, mmsyn2-array >= 0.3 && <1, mmsyn5 >=0.5 && <1 ghc-options: -threaded -rtsopts hs-source-dirs: ., Ukrainian default-language: Haskell2010