:i fromSql
fromSql ::
convertible-1.1.1.0:Data.Convertible.Base.Convertible SqlValue a =>
SqlValue -> a
-- Defined in ‘Database.HDBC.SqlValue’
如果我运行例如map fromSql (EXAMPLESQL)
,它输出正常。但如果我将其重新定义为readCol = map fromSql
,我会得到错误:
readCol = map fromSql
<interactive>:23:1: error:
• Non type-variable argument
in the constraint: convertible-1.1.1.0:Data.Convertible.Base.Convertible
SqlValue b
(Use FlexibleContexts to permit this)
• When checking the inferred type
readCol :: forall b.
convertible-1.1.1.0:Data.Convertible.Base.Convertible SqlValue b =>
[SqlValue] -> [b]
如何解决这个问题?
我使用了以下解决方案:
在ghci中,您可以设置FlexibleContexts,如下所示:
:set -XFlexibleContexts
在源文件中,在开始时,您应该使用:
{-# LANGUAGE FlexibleContexts #-}