无法为包含UTCTime的数据派生Show实例

Chr*_*eng 14 haskell

我的数据定义类似于ff.:

import Data.Time.Clock

data D = D { ...,
             someDate :: UTCTime,
             ... }
         deriving (Eq, Show)
Run Code Online (Sandbox Code Playgroud)

当我编译它时,我得到了ff.错误:

No instance for (Show UTCTime)
  arising from the 'deriving' clause of a data type declaration
               at ...
Run Code Online (Sandbox Code Playgroud)

我已经有了time-1.1.3软件包,根据文档已经有了这个实例.我的GHC版本是6.8.2.

Yit*_*itz 28

不要Data.Time单独导入套件的每个部件.它专为您导入而设计,它将引入Data.Time几乎所有常用的东西.包括Show实例UTCTime.

如果您不想要那么多名称空间混乱,请只导入您需要的符号:

import Data.Time (UTCTime, getCurrentTime)
Run Code Online (Sandbox Code Playgroud)

或其他任何东西.这无论如何都是一个好主意 - 如果库得到更新并开始使用您已经定义的名称,它可以保护您免受以后的名称冲突.