在 Data.Time.Format 中找不到 defaultTimeLocale
Can't find defaultTimeLocale in Data.Time.Format
根据 Hackage 上的 doc,Data.Time.Format
暴露了 defaultTimeLocal
。
但是,当我尝试使用它时,它不会退出。
当我查看代码时,它似乎也没有暴露(如果我从源代码生成文档,我看不到这个 defaultTimeLocale
)。是因为它需要用一些标志来编译,还是 haddock on hackage 只是错误的。
在哪里可以获得 TimeLocale
的实例?
更新
我在 OSX 上使用 time
版本 1.5.0.1。
以下代码
import Data.Time.Format (defaultTimeLocale)
错误
Module ‘Data.Time.Format’ does not export ‘defaultTimeLocale’
更新
事实上,我使用的是未安装 defaultTimeLocale
的 1.4.2 版。
我正在升级到 1.5.0.1 ...
更新
我删除了我的沙盒,重建了一切。现在可以使用了。
出于某种原因,cabal 没有使用我认为是 (1.5) 的版本,而是 (1.4) 可能来自 haskell 平台。升级解决了这个问题。
对于遇到此答案并希望编写具有向后兼容 time
依赖项的库的任何其他人,您可以使用 CPP pragma 和 #if
检查时间库的最低版本:
{-# Language CPP #-}
#if MIN_VERSION_time(1,5,0)
import Data.Time.Format (defaultTimeLocale)
#else
import System.Locale (defaultTimeLocale)
#endif
根据 Hackage 上的 doc,Data.Time.Format
暴露了 defaultTimeLocal
。
但是,当我尝试使用它时,它不会退出。
当我查看代码时,它似乎也没有暴露(如果我从源代码生成文档,我看不到这个 defaultTimeLocale
)。是因为它需要用一些标志来编译,还是 haddock on hackage 只是错误的。
在哪里可以获得 TimeLocale
的实例?
更新
我在 OSX 上使用 time
版本 1.5.0.1。
以下代码
import Data.Time.Format (defaultTimeLocale)
错误
Module ‘Data.Time.Format’ does not export ‘defaultTimeLocale’
更新
事实上,我使用的是未安装 defaultTimeLocale
的 1.4.2 版。
我正在升级到 1.5.0.1 ...
更新
我删除了我的沙盒,重建了一切。现在可以使用了。
出于某种原因,cabal 没有使用我认为是 (1.5) 的版本,而是 (1.4) 可能来自 haskell 平台。升级解决了这个问题。
对于遇到此答案并希望编写具有向后兼容 time
依赖项的库的任何其他人,您可以使用 CPP pragma 和 #if
检查时间库的最低版本:
{-# Language CPP #-}
#if MIN_VERSION_time(1,5,0)
import Data.Time.Format (defaultTimeLocale)
#else
import System.Locale (defaultTimeLocale)
#endif