Я использую -interactive-print
для печати текущего времени после каждой оцениваемой в 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
Что делает 'ghc-pkg find-module Text.Show.TimePrint' сказать? –