Как поддерживать -interactive-print после: load или: reload в ghci?

Я использую -interactive-print для печати текущего времени после каждой строки, оцененной в ghci:

(от ~/.ghci):

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

Это работает, пока я не попытаюсь :load файл:

$ 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

Я видел этот билет здесь, который описывает проблему: https://ghc.haskell.org/trac/ghc/ticket/11159; предлагаемое решение состоит в том, чтобы поместить его в «зарегистрированный пакет», что я не совсем понимаю. Я поставил его в Text.Show, это не совсем так? Спасибо.

(Код установленного пакета для выполнения 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

person masterchefsenior    schedule 03.06.2016    source источник
comment
Что говорит ghc-pkg find-module Text.Show.TimePrint?   -  person Daniel Wagner    schedule 03.06.2016


Ответы (1)


Вы используете GHC 7.10.3; в тикете, на который вы ссылаетесь, сказано, что это исправлено после 7.10.3. Поэтому вам нужно будет обновить свой GHC до чего-то более нового.

person Daniel Wagner    schedule 03.06.2016