1

SqlValue私は aを次のように変換しようとしていましたUTCTime:

データベースのインポート.HDBC
インポート Data.Time (UTCTime)

getUTCTimeFromSql :: SqlValue -> UTCTime
getUTCTimeFromSql time = fromSql time :: UTCTime

ConvertibleしかしGHCは、これを行うためのインスタンスが不足していると不平を言っています:

(Data.Convertible.Base.Convertible のインスタンスはありません
                   SqlValue UTCTime)
  「fromSql」の使用に起因する
考えられる修正:
  のインスタンス宣言を追加する
  (Data.Convertible.Base.Convertible SqlValue UTCTime)
式: fromSql time :: UTCTime
「getUTCTimeFromSql」の方程式では:
    getUTCTimeFromSql time = fromSql time :: UTCTime

HDBCのソース コードを見ると、のインスタンスUTCTimeがあります。

何か不足していますか?

4

1 に答える 1

0

答えについては、ダニエルのコメントを参照してください。

あなたの HDBC (およびコンバーチブル) は、あなたが使用している時間とは異なるバージョンに対して構築されたのではないかと思います。したがって、古い時間パッケージの UTCTime のインスタンスはありますが、新しいタイプのインスタンスはありません。ghc-pkg list time は複数のインストールされたバージョンを報告しますか?

于 2013-03-13T15:41:46.483 に答える