J'utilise -interactive-print
pour imprimer l'heure actuelle après chaque ligne évaluée dans ghci
:Comment conserver -interactive-print après: load ou: recharger dans ghci?
(de ~/.ghci
):
import qualified Text.Show.TimePrint
:set -interactive-print=Text.Show.TimePrint.timePrint
Il fonctionne jusqu'à ce que j'essaie de :load
un fichier:
$ 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
J'ai vu ce billet ici qui décrit le problème: https://ghc.haskell.org/trac/ghc/ticket/11159; la solution proposée est de le mettre dans un «paquet enregistré», que je ne comprends pas exactement. Je l'ai mis dans Text.Show
, est-ce pas tout à fait raison? Merci.
(Le code pour le paquet installé pour faire 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
Que dit 'ghc-pkg find-module Text.Show.TimePrint'? –