ukrainian-phonetics-basic-array-bytestring 0.1.0.0 → 0.1.1.0
raw patch · 3 files changed
+29/−13 lines, 3 filesdep ~bytestringdep ~mmsyn2-arraydep ~mmsyn5PVP ok
version bump matches the API change (PVP)
Dependency ranges changed: bytestring, mmsyn2-array, mmsyn5, ukrainian-phonetics-common
API changes (from Hackage documentation)
Files
- CHANGELOG.md +3/−0
- Languages/Phonetic/Ukrainian/Syllable/Arr.hs +24/−11
- ukrainian-phonetics-basic-array-bytestring.cabal +2/−2
CHANGELOG.md view
@@ -5,3 +5,6 @@ * First version. Moved from the ukrainian-phonetics-basic-array bytestring-related functionality. Is provided only for the compatibility needs. If possible, please, use the former one instead. +## 0.1.1.0 -- 2022-08-09++* First version revised A. Fixed issues with the syllable segmentation with soft sign consonant sequences.
Languages/Phonetic/Ukrainian/Syllable/Arr.hs view
@@ -132,17 +132,30 @@ -- The phonetical information for the proper performance is taken from the: -- https://msn.khnu.km.ua/pluginfile.php/302375/mod_resource/content/1/%D0%9B.3.%D0%86%D0%86.%20%D0%A1%D0%BA%D0%BB%D0%B0%D0%B4.%D0%9D%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D1%81.pdf divCnsnts :: [UZPP2] -> ([UZPP2] -> [UZPP2],[UZPP2] -> [UZPP2])-divCnsnts xs@(x:ys@(_:_:_:_))- | (isSonorous1 x) || (isVoicedC1 x) = ((`mappend` [x]),(ys `mappend`))- | otherwise = ((id),(xs `mappend`))-divCnsnts xs@(x:ys@(y:zs@(_:_)))- | isSonorous1 x = ((`mappend` [x]),(ys `mappend`))- | isSonorous1 y = ((`mappend` [x,y]),(zs `mappend`))- | otherwise = ((id),(xs `mappend`))-divCnsnts xs@(x:ys@(y:_))- | ((isSonorous1 x) && (x `notEqC` y)) || ((isVoicedC1 x) && (isVoicelessC1 y)) = ((`mappend` [x]),(ys `mappend`))- | otherwise = ((id),(xs `mappend`))-divCnsnts xs = ((id),(xs `mappend`))+divCnsnts xs@(x:ys@(y:zs@(z:ts@(_:_))))+ | isSonorous1 x || isVoicedC1 x =+ case charUkr y of+ 'q' -> ((`mappend` [x,y]),mappend zs) -- "рибаль-ство"+ _ -> ((`mappend` [x]),mappend ys)+ | isSonorous1 y =+ case charUkr z of+ 'q' -> ((`mappend` [x,y,z]),mappend ts) -- "рокль-ський" (?), "супрасль-ський"+ _ -> ((`mappend` [x,y]),mappend zs) -- "дофр-ський" (?)+ | otherwise = (id,mappend xs)+divCnsnts xs@(x:ys@(y:zs@(z:ts)))+ | isSonorous1 x =+ case charUkr y of+ 'q' -> ((`mappend` [x,y]),mappend zs) -- "поль-ка", "каль-ка"+ _ -> ((`mappend` [x]),mappend ys)+ | isSonorous1 y =+ case charUkr z of+ 'q' -> (id,mappend xs) -- "сього-дні"+ _ -> ((`mappend` [x,y]),mappend zs)+ | otherwise = (id,mappend xs)+divCnsnts xs@(x:ys@(y:zs))+ | (isSonorous1 x && notEqC x y && charUkr y /= 'q') || (isVoicedC1 x && isVoicelessC1 y) = ((`mappend` [x]),mappend ys)+ | otherwise = (id,mappend xs)+divCnsnts xs = (id,mappend xs) reSyllableCntnts :: [[UZPP2]] -> [[UZPP2]] reSyllableCntnts (xs:ys:zs:xss)
ukrainian-phonetics-basic-array-bytestring.cabal view
@@ -2,7 +2,7 @@ -- further documentation, see http://haskell.org/cabal/users-guide/ name: ukrainian-phonetics-basic-array-bytestring-version: 0.1.0.0+version: 0.1.1.0 synopsis: A library to work with the basic Ukrainian phonetics and syllable segmentation. description: The functionality that uses bytestings are moved to this package from the ukrainian-phonetics-basic-array package. homepage: https://hackage.haskell.org/package/ukrainian-phonetics-basic-array@@ -20,6 +20,6 @@ exposed-modules: Languages.Phonetic.Ukrainian.Syllable.Arr, Melodics.ByteString.Ukrainian.Arr, Languages.Phonetic.Ukrainian.Syllable.Double.Arr -- other-modules: other-extensions: DeriveDataTypeable, FlexibleInstances, OverloadedStrings, TypeSynonymInstances- build-depends: base >=4.8 && <5, mmsyn2-array >=0.3 && <1, bytestring >=0.10 && <0.13, mmsyn5 >=0.5 && <1, ukrainian-phonetics-common >=0.1.1 && <1+ build-depends: base >=4.8 && <5, mmsyn2-array ==0.3.0.0, bytestring >=0.10 && <0.14, mmsyn5 ==0.5.1.0, ukrainian-phonetics-common ==0.1.1.0 -- hs-source-dirs: default-language: Haskell2010