2016-06-03 14 views
1

내가 ghci 평가하고 각 줄 끝에서 현재 시간을 인쇄 할 수 -interactive-print을 사용하고 있습니다 :ghci에서 -interactive-print를 유지하는 방법 : load 또는 : reload?

(~/.ghci에서) :

$ ghci 
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help 
Prelude Text.Show.TimePrint> 1+2 
3 
20:08:42 
Prelude Text.Show.TimePrint> :l file.hs 
[1 of 1] Compiling Main    (file.hs, interpreted) 
Ok, modules loaded: Main. 
*Main Text.Show.TimePrint> 1+2 
3 
: 나는 :load에 파일을 시도 할 때까지

import qualified Text.Show.TimePrint 
:set -interactive-print=Text.Show.TimePrint.timePrint 

의미가 있습니다

문제를 설명하는 티켓을 보았습니다 : https://ghc.haskell.org/trac/ghc/ticket/11159; 제안 된 솔루션은 그것을 정확히 "이해하지 못하는"등록 된 패키지에 넣는 것입니다. 나는 그것을 Text.Show에 넣었다. 그렇지 않습니까? 감사.

(당신은 GHC 7.10.3을 사용하는 TimePrint :

module Text.Show.TimePrint (timePrint) where 

import System.IO 
import Data.Time 

getTime :: IO String 
getTime = do 
    now <- getCurrentTime 
    return (formatTime defaultTimeLocale "%T" now) 

timePrint :: Show a => a -> IO() 
timePrint a = do 
    s <- getTime 
    putStrLn $ show a ++ "\n" ++ s 
+0

'ghc-pkg find-module Text.Show.TimePrint'는 무슨 뜻입니까? –

답변

1

을 할 수있는 설치 패키지의 코드; 연결된 티켓에 ( 7.10.3 이후)이 고정되어 있다고합니다. 따라서 GHC를 새로운 버전으로 업그레이드해야합니다.