packages feed

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 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