Sorry for late reply.
I tested several times, and I fixed it. It is due to my stupid mistake. 
sorry about border you.
I re-write code and works fine.
Thank you so much. It is great package unicode-transforms!!!
Thank you so much, and have a nice day. =)

Sincerely, S. Chang.

On Sunday, March 5, 2017 at 11:08:58 PM UTC+9, Harendra Kumar wrote:
>
> Can you compare the normalized output using unicode-transforms and using 
> text-icu, for both of your files? Let me know if you find a difference 
> between the two. If it is different please raise an issue at 
> https://github.com/harendra-kumar/unicode-transforms .
>
> -harendra
>
> On 5 March 2017 at 18:05, S. H. Aegis <[email protected] <javascript:>> 
> wrote:
>
>> Thank you so much, Harendra Kumar.
>> I re-write my code, and it works!
>> But wired result comes out.
>> All of fuctions works good indivisually, but final result have a error. 
>> There is no error when using text-icu or iconv lib.
>> Why these results come out? I needs any suggestions.
>> Thank you.
>> Have a nice day~
>>
>> Sincerely, S. Chang.
>>
>> C:\Users\shaeg\Documents\Haskell\samChecker3>stack exec samChecker3-exe 
>>> BoHom.dat RxDxData.csv
>>> samChecker3-exe.EXE: Prelude.!!: index too large
>>
>>
>> RxDxData.csv
>>
>>> Name,codeNo,Dx,Blank
>>> Naem2,codeNo2,Dx2,Blank2
>>> ...
>>>
>>
>> BoHom.dat
>> series of numbers that encoded in EUC-KR (more than 1000 lines) 
>>
>> Main.hs
>>
>>> module Main where
>>>
>>> import Lib
>>> import System.Environment
>>> --import System.FilePath.Windows
>>> --import Data.Text.ICU.Convert       -- There is Codec.Text.IConv, too.
>>> import qualified Data.Text         as T
>>> import qualified Data.Text.IO      as TIO
>>> import qualified Data.Text.Encoding      as TE
>>> import qualified Data.ByteString.Char8   as BS
>>> import qualified Data.ByteString.Lazy    as BL
>>> --import Codec.Text.IConv
>>> import Data.Text.Normalize
>>>
>>> main :: IO ()
>>> main = do
>>>         args <- getArgs    -- 1st=SAM 2nd=csv
>>>         byteSAM <- TIO.readFile $ (args !! 0)
>>>         byteRxDxData <- TIO.readFile $ (args !! 1)
>>>         TIO.putStrLn $ T.concat $ checkRxDxSAM (normalize NFKC byteSAM) 
>>> (normalize NFKC byteRxDxData
>>>
>>
>> Lib.hs
>>
>>> module Lib
>>> --    ( readSAM
>>> --    , readCSV
>>> --    , checkRxDxSAM
>>> --    ) where
>>>       where
>>>
>>> import Data.Text                 as T
>>> import Data.Text.IO              as TIO
>>> --import Data.Text.ICU.Convert
>>> import qualified Data.ByteString.Char8 as BS
>>> import qualified Data.ByteString.Lazy  as BL
>>> import Text.Regex.TDFA
>>> --import Data.Text.ICU             as I
>>> import Prelude hiding (take, drop, map, lines)
>>> --import Codec.Text.IConv
>>> import Data.Text.Normalize        as TN
>>>
>>> type RowSAM = Text
>>> type SAM = [Text]
>>> type Case = Text
>>> type RowRxDx = Text
>>> type RxDx = [Text]
>>> type RxDxList = [[Text]]
>>> type Rx = Text
>>> type Dx = Text
>>> type MediName = Text
>>> type Message = Text
>>> type ErrorMessage = Text
>>> type Date = Text
>>> type PtName = Text
>>>
>>> checkRxDxSAM :: RowRxDx -> RowSAM -> [ErrorMessage]
>>> checkRxDxSAM rxDx sam = [pickupError r s | r <- (makeTuple rxDx), s <- 
>>> makeSamData sam]
>>>
>>> makeSamData :: RowSAM -> SAM
>>> makeSamData sam = splitIntoCase sam
>>>
>>> makeTuple :: RowRxDx -> [(Rx, Dx, MediName)]
>>> makeTuple rxDx = zip3 (makeRxList rxDx) (makeDxList rxDx) 
>>> (makeMediNameList rxDx)
>>>
>>> makeMediNameList :: RowRxDx -> [MediName]
>>> makeMediNameList rxDx = fmap pickupMediName $ makeRxDxList rxDx
>>>
>>> makeDxList :: RowRxDx -> [Dx]
>>> makeDxList rxDx = fmap pickupDx $ makeRxDxList rxDx
>>>
>>> makeRxList :: RowRxDx -> [Rx]
>>> makeRxList rxDx = fmap pickupRx $ makeRxDxList rxDx
>>>
>>> makeRxDxList :: RowRxDx -> RxDxList
>>> makeRxDxList rowRxDx = fmap f (lines rowRxDx)
>>>     where
>>>         f :: Text -> [Text]
>>>         f x = splitOn (pack ",") x
>>>
>>> pickupError :: (Rx, Dx, Message) -> Case -> ErrorMessage
>>> pickupError (rxCode, dxCode, errMsg) ptCase =
>>>     case isErrorRxDx rxCode dxCode ptCase of
>>>         --True  -> append (pickupCaseDate ptCase) $ append (pack " ") $ 
>>> append (pickupPtName ptCase) $ append (pack " Omit ") $ append dxCode $ 
>>> append (pack " for ") errMsg
>>>         True  -> append (pickupCaseDate ptCase) $ append (pack " ") $ 
>>> append (pickupPtName ptCase) $ append (pack " Omit ") $ append dxCode $ 
>>> append (pack " for ") $ append errMsg (pack "\n")
>>>         False -> T.empty
>>>
>>> pickupMediName :: RxDx -> MediName
>>> pickupMediName rxDx = rxDx !! 0
>>>
>>> pickupDx :: RxDx -> Dx
>>> pickupDx rxDx = rxDx !! 2
>>>
>>> pickupRx :: RxDx -> Rx
>>> pickupRx rxDx = rxDx !! 1
>>>
>>> pickupPtName :: Case -> PtName
>>> pickupPtName ptCase = take 3 $ drop 45 ptCase
>>>
>>> pickupCaseDate :: Case -> Date
>>> pickupCaseDate ptCase = take 8 $ drop (348 + 2) ptCase
>>>
>>> isErrorRxDx :: Rx -> Dx -> Case -> Bool
>>> isErrorRxDx rxCode dxCode ptCase =
>>>     case isExistRx rxCode ptCase of
>>>         True  -> if (isExistDx dxCode ptCase) then False else True
>>>         False -> False
>>>
>>> isExistDx :: Dx -> Case -> Bool
>>> isExistDx dxCode ptCase = (unpack ptCase) =~ (unpack dxCode)
>>> --isExistDx dxCode ptCase = 
>>> --    case (I.find (regex [] dxCode) ptCase) of
>>> --        Just x  -> True
>>> --        Nothing -> False
>>>
>>> isExistRx :: Rx -> Case -> Bool
>>> isExistRx rxCode ptCase = rxCode `isInfixOf` ptCase
>>>
>>> splitIntoCase :: RowSAM -> SAM
>>> splitIntoCase = splitOn $ pack "AH021 
>>>
>>
>>
>>
>> On Sunday, March 5, 2017 at 1:35:11 AM UTC+9, S. H. Aegis wrote:
>>>
>>> Hi.
>>>
>>> I worte some code. and fixed some errors with the help of good persons.
>>> Now, this utility works properly in Stack environment.
>>> This utility use text-icu and I coded this utility on windows. Of 
>>> course, I want to work this utility on other windows OS.
>>>
>>> I copied %stackPath%\.stack-work\install\~\bin\samCheceker-exe.exe to 
>>> some other folder, and execution through CMD.
>>> But I got error message that says "libicuuc57.dll dose not exist. so 
>>> program can't start. please re-install the program."
>>> I copied libicuuc57.dll, and so... as like programming newbees, but 
>>> failed. "stack install" command was the same result.
>>>
>>> With help of Francesco Ariis from ([email protected] <javascript:>), 
>>> I steped forword.
>>> But still got error message.
>>>
>>> C:\Users\shaeg\Documents\Haskell\samChecker3> stack build  
>>> --ghc-options="-static -optl-static"
>>> Warning: File listed in samChecker3.cabal file does not exist: README.md
>>> samChecker3-0.1.0.0: unregistering (local file changes: app\Main.hs 
>>> samChecker3.cabal src\Lib.hs test\Spec.hs)
>>> samChecker3-0.1.0.0: configure (lib + exe)
>>> Configuring samChecker3-0.1.0.0...
>>> samChecker3-0.1.0.0: build (lib + exe)
>>> Preprocessing library samChecker3-0.1.0.0...
>>> [1 of 1] Compiling Lib              ( src\Lib.hs, 
>>> .stack-work\dist\ca59d0ab\build\Lib.o )
>>> Preprocessing executable 'samChecker3-exe' for samChecker3-0.1.0.0...
>>> [1 of 1] Compiling Main             ( app\Main.hs, 
>>> .stack-work\dist\ca59d0ab\build\samChecker3-exe\samChecker3-exe-tmp\Main.o )
>>> Linking 
>>> .stack-work\dist\ca59d0ab\build\samChecker3-exe\samChecker3-exe.exe ...
>>> C:/Users/shaeg/AppData/Local/Programs/stack/x86_64-windows/ghc-8.0.2/mingw/bin/ld.exe:
>>>  
>>> cannot find -licuuc
>>> C:/Users/shaeg/AppData/Local/Programs/stack/x86_64-windows/ghc-8.0.2/mingw/bin/ld.exe:
>>>  
>>> cannot find -licuin
>>> C:/Users/shaeg/AppData/Local/Programs/stack/x86_64-windows/ghc-8.0.2/mingw/bin/ld.exe:
>>>  
>>> cannot find -licudt
>>> collect2.exe: error: ld returned 1 exit status
>>> `gcc.exe' failed in phase `Linker'. (Exit code: 1)
>>> Warning: File listed in samChecker3.cabal file does not exist: README.md
>>>
>>> --  While building package samChecker3-0.1.0.0 using:
>>>       
>>> C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.0.2.exe
>>>  
>>> --builddir=.stack-work\dist\ca59d0ab build lib:samChecker3 
>>> exe:samChecker3-exe --ghc-options " -ddump-hi -ddump-to-file"
>>>     Process exited with code: ExitFailure 1
>>>
>>> [stack path] results
>>> extra-include-dirs: 
>>> C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\include
>>> extra-library-dirs: 
>>> C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib
>>>
>>> According to first error message(libicuuc57.dll dose not exist. so 
>>> program can't start. please re-install the program.), I find the path for 
>>> libicuuc57.dll, and re-set the extra-library-dirs.
>>> C:\Users\shaeg\Documents\Haskell\samChecker3>stack build 
>>> --extra-lib-dirs=C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin
>>>  
>>> --ghc-options="-static -optl-static"
>>> But got the same result.
>>>
>>> libicuuc75.dll, libicuin57.dll etc files is located in 
>>> C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin
>>>
>>> How can I fix this error?
>>> Thank you so much.
>>>
>>> Sincerely, S. Chang.
>>>
>>> ------------------------------------------------
>>> Here is my stack path.
>>> C:\Users\shaeg\Documents\Haskell\samChecker3>stack path
>>> stack-root: C:\sr
>>> project-root: C:\Users\shaeg\Documents\Haskell\samChecker3
>>> config-location: C:\Users\shaeg\Documents\Haskell\samChecker3\stack.yaml
>>> bin-path: 
>>> .;C:\sr\snapshots\7dd4ddea\bin;C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin;C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\mingw\bin;C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin;C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\usr\bin;C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\usr\local\bin;C:\Program
>>>  
>>> Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS 
>>> Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program
>>>  
>>> Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program 
>>> Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files 
>>> (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program 
>>> Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program 
>>> Files\Intel\IntelSGXPSW\bin\x64\Release\;C:\Program 
>>> Files\Intel\IntelSGXPSW\bin\win32\Release\;c:\Program 
>>> Files\Intel\WiFi\bin\;c:\Program Files\Common 
>>> Files\Intel\WirelessCommon\;C:\Program 
>>> Files\Hewlett-Packard\SimplePass\;C:\Users\shaeg\AppData\Roaming\local\bin;C:\Users\shaeg\AppData\Local\Microsoft\WindowsApps
>>> programs: C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows
>>> compiler-exe: 
>>> C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\ghc.EXE
>>> compiler-bin: 
>>> C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin
>>> local-bin: C:\Users\shaeg\AppData\Roaming\local\bin
>>> extra-include-dirs: 
>>> C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\include
>>> extra-library-dirs: 
>>> C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib
>>> snapshot-pkg-db: C:\sr\snapshots\7dd4ddea\pkgdb
>>> local-pkg-db: 
>>> C:\Users\shaeg\Documents\Haskell\samChecker3\.stack-work\install\02136e14\pkgdb
>>> global-pkg-db: 
>>> C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\lib\package.conf.d
>>> ghc-package-path: 
>>> C:\Users\shaeg\Documents\Haskell\samChecker3\.stack-work\install\02136e14\pkgdb;C:\sr\snapshots\7dd4ddea\pkgdb;C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\lib\package.conf.d
>>> snapshot-install-root: C:\sr\snapshots\7dd4ddea
>>> local-install-root: 
>>> C:\Users\shaeg\Documents\Haskell\samChecker3\.stack-work\install\02136e14
>>> snapshot-doc-root: C:\sr\snapshots\7dd4ddea\doc
>>> local-doc-root: 
>>> C:\Users\shaeg\Documents\Haskell\samChecker3\.stack-work\install\02136e14\doc
>>> dist-dir: .stack-work\dist\ca59d0ab
>>> local-hpc-root: 
>>> C:\Users\shaeg\Documents\Haskell\samChecker3\.stack-work\install\02136e14\hpc
>>> local-bin-path: C:\Users\shaeg\AppData\Roaming\local\bin
>>> ghc-paths: C:\Users\shaeg\AppData\Local\Programs\stack\x86_64-windows
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "haskell-stack" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/haskell-stack/a7be59d2-09d3-40f8-930b-eda4fbc0ed57%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/haskell-stack/a7be59d2-09d3-40f8-930b-eda4fbc0ed57%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"haskell-stack" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/haskell-stack/f5439635-ae58-4c6b-b914-10094e83cd52%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to