packages feed

cndict 0.6.2 → 0.6.3

raw patch · 3 files changed

+43/−43 lines, 3 filesdep −file-embedPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: file-embed

API changes (from Hackage documentation)

- Data.Chinese.CCDict: entryDefinition :: Entry -> [[Text]]
- Data.Chinese.CCDict: entryPinyin :: Entry -> [Text]
- Data.Chinese.CCDict: entrySimplified :: Entry -> !Text
- Data.Chinese.CCDict: entryTraditional :: Entry -> !Text
- Data.Chinese.CCDict: instance Eq Entry
- Data.Chinese.CCDict: instance Eq Token
- Data.Chinese.CCDict: instance Ord Entry
- Data.Chinese.CCDict: instance Ord Token
- Data.Chinese.CCDict: instance Read Entry
- Data.Chinese.CCDict: instance Read Token
- Data.Chinese.CCDict: instance Show CCTrieEntry
- Data.Chinese.CCDict: instance Show Entry
- Data.Chinese.CCDict: instance Show Token
- Data.Chinese.Frequency: instance Show SubtlexEntry
- Data.Chinese.Frequency: subtlexIndex :: SubtlexEntry -> !Int
- Data.Chinese.Frequency: subtlexWCount :: SubtlexEntry -> !Int
- Data.Chinese.Frequency: subtlexWMillion :: SubtlexEntry -> !Double
- Data.Chinese.Frequency: subtlexWord :: SubtlexEntry -> !Text
+ Data.Chinese.CCDict: [entryDefinition] :: Entry -> [[Text]]
+ Data.Chinese.CCDict: [entryPinyin] :: Entry -> [Text]
+ Data.Chinese.CCDict: [entrySimplified] :: Entry -> !Text
+ Data.Chinese.CCDict: [entryTraditional] :: Entry -> !Text
+ Data.Chinese.CCDict: instance GHC.Classes.Eq Data.Chinese.CCDict.Entry
+ Data.Chinese.CCDict: instance GHC.Classes.Eq Data.Chinese.CCDict.Token
+ Data.Chinese.CCDict: instance GHC.Classes.Ord Data.Chinese.CCDict.Entry
+ Data.Chinese.CCDict: instance GHC.Classes.Ord Data.Chinese.CCDict.Token
+ Data.Chinese.CCDict: instance GHC.Read.Read Data.Chinese.CCDict.Entry
+ Data.Chinese.CCDict: instance GHC.Read.Read Data.Chinese.CCDict.Token
+ Data.Chinese.CCDict: instance GHC.Show.Show Data.Chinese.CCDict.CCTrieEntry
+ Data.Chinese.CCDict: instance GHC.Show.Show Data.Chinese.CCDict.Entry
+ Data.Chinese.CCDict: instance GHC.Show.Show Data.Chinese.CCDict.Token
+ Data.Chinese.Frequency: [subtlexIndex] :: SubtlexEntry -> !Int
+ Data.Chinese.Frequency: [subtlexWCount] :: SubtlexEntry -> !Int
+ Data.Chinese.Frequency: [subtlexWMillion] :: SubtlexEntry -> !Double
+ Data.Chinese.Frequency: [subtlexWord] :: SubtlexEntry -> !Text
+ Data.Chinese.Frequency: instance GHC.Show.Show Data.Chinese.Frequency.SubtlexEntry
+ Paths_cndict: getBinDir :: IO FilePath
+ Paths_cndict: getDataDir :: IO FilePath
+ Paths_cndict: getDataFileName :: FilePath -> IO FilePath
+ Paths_cndict: getLibDir :: IO FilePath
+ Paths_cndict: getLibexecDir :: IO FilePath
+ Paths_cndict: getSysconfDir :: IO FilePath
+ Paths_cndict: version :: Version

Files

cndict.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                cndict-version:             0.6.2+version:             0.6.3 synopsis:            Chinese/Mandarin <-> English dictionary, Chinese lexer. -- description: license:             PublicDomain@@ -28,7 +28,6 @@   -- other-modules:   build-depends:       base       == 4.*,                        text       >= 0.11.0.0,-                       file-embed >= 0.0.4.9,                        containers >= 0.5.0.0,                        vector     >= 0.10.0.0,                        bytestring >= 0.9.0.0,
src/Data/Chinese/CCDict.hs view
@@ -1,7 +1,7 @@+{-# LANGUAGE BangPatterns      #-}+{-# LANGUAGE CPP               #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell   #-}-{-# LANGUAGE CPP               #-}-{-# LANGUAGE BangPatterns      #-} -- | Simplified Chinese <-> English dictionary with pinyin phonetics. module Data.Chinese.CCDict   ( CCDict@@ -16,27 +16,27 @@   , toSimplified   ) where +import qualified Data.ByteString        as B import           Data.Char-import           Data.FileEmbed-import           Data.List           (foldl', nub, maximumBy)-import           Data.Ord-import           Data.IntMap (IntMap)-import qualified Data.IntMap.Strict as IntMap-import qualified Data.Map.Strict            as M+import           Data.IntMap            (IntMap)+import qualified Data.IntMap.Strict     as IntMap+import           Data.List              (foldl', maximumBy, nub) import           Data.Maybe-import           Data.Text           (Text)-import qualified Data.Text           as T-import qualified Data.Text.Encoding  as T-import qualified Data.Text.IO        as T--import           Prelude             hiding (lookup)+import           Data.Ord+import           Data.Text              (Text)+import qualified Data.Text              as T+import qualified Data.Text.Encoding     as T+import qualified Data.Text.IO           as T+import           Paths_cndict+import           Prelude                hiding (lookup)+import           System.IO.Unsafe       (unsafePerformIO) -import Data.Tree+import           Data.Tree -import           Data.Chinese.Pinyin import qualified Data.Chinese.Frequency as Frequency+import           Data.Chinese.Pinyin -import Data.Chinese.Frequency hiding (lookup)+import           Data.Chinese.Frequency hiding (lookup)  -------------------------------------------------- -- Dictionary@@ -221,21 +221,21 @@     cases =         [ ("多工作", ["多","工作"])         , ("有电话", ["有","电话"])-      	, ("回电话", ["回","电话"])-      	, ("不知道", ["不","知道"])-      	, ("定时间", ["定","时间"])-      	, ("这位子", ["这","位子"])-      	, ("十分钟", ["十","分钟"])-      	, ("有电梯", ["有","电梯"])+        , ("回电话", ["回","电话"])+        , ("不知道", ["不","知道"])+        , ("定时间", ["定","时间"])+        , ("这位子", ["这","位子"])+        , ("十分钟", ["十","分钟"])+        , ("有电梯", ["有","电梯"])         , ("中午前", ["中午","前"])         -- , ("得很", ["得","很"])         -- , ("不想", ["不","想"])         -- , ("那是", ["那","是"])         , ("外套", ["外套"])         , ("家中餐馆", ["家","中餐馆"])-      	, ("后生活", ["后","生活"])-      	, ("不愿意", ["不","愿意"])-      	, ("点出发", ["点","出发"])+        , ("后生活", ["后","生活"])+        , ("不愿意", ["不","愿意"])+        , ("点出发", ["点","出发"])         , ("老婆婆", ["老","婆婆"])         , ("不会跳舞", ["不会","跳舞"])         , ("穿上外套", ["穿上","外套"])@@ -443,7 +443,10 @@ ccDict :: CCDict ccDict = parse $ T.decodeUtf8 raw   where-    raw = $(embedFile "data/cedict_1_0_ts_utf-8_mdbg.txt")+    -- raw = $(embedFile "data/cedict_1_0_ts_utf-8_mdbg.txt")+    raw = unsafePerformIO $ do+      path  <- getDataFileName "data/cedict_1_0_ts_utf-8_mdbg.txt"+      B.readFile path  -- ccDict' :: CCDict -- ccDict' = decode (BL.fromStrict raw)
src/Data/Chinese/Frequency.hs view
@@ -7,21 +7,15 @@   , Data.Chinese.Frequency.lookup   ) where --- import           Control.Applicative-import qualified Data.ByteString.Lazy as L-import qualified Data.ByteString      as B+import qualified Data.ByteString       as B import qualified Data.ByteString.Char8 as B8--- import           Data.Csv             as Csv-import           Data.FileEmbed-import           Data.Map             (Map)-import qualified Data.Map.Strict            as M-import           Data.Text            (Text)+import           Data.Map              (Map)+import qualified Data.Map.Strict       as M+import           Data.Text             (Text)+import qualified Data.Text             as T import           Data.Text.Encoding-import qualified Data.Text            as T--- import           Data.Vector          (Vector)--- import qualified Data.Vector          as V---- import           Data.Chinese.Pinyin+import           Paths_cndict+import           System.IO.Unsafe      (unsafePerformIO)  type SubtlexMap = Map B.ByteString RawEntry @@ -113,7 +107,11 @@ subtlex = mkSubtlexMap $     rows   where-    utfData = $(embedFile "data/SUBTLEX_CH_131210_CE.utf8")+    utfData = unsafePerformIO $ do+      path  <- getDataFileName "data/SUBTLEX_CH_131210_CE.utf8"+      B.readFile path+    -- utfData = $(embedFile "data/SUBTLEX_CH_131210_CE.utf8")+    -- utfData = B.empty     rows = drop 1 (B.split 0xa utfData)  -- subtlex :: SubtlexMap