Haskell 是的,哈姆雷特·格荷马可以';找不到参考资料

Haskell 是的,哈姆雷特·格荷马可以';找不到参考资料,haskell,yesod,Haskell,Yesod,虽然我在模型中定义了: Variable not in scope: date :: Vocabulary -> a0 PS:我正在基于yesod脚手架开发示例:yesod postgres它应该是vocabularyDate,而不仅仅是date。 根据这本书的持续章节 将生成如下所示的代码 mkPersist sqlSettings [persistLowerCase| Person name String age Int deriving Show |] 如

虽然我在模型中定义了:

Variable not in scope: date :: Vocabulary -> a0

PS:我正在基于yesod脚手架开发示例:yesod postgres

它应该是
vocabularyDate
,而不仅仅是
date
。 根据这本书的持续章节

将生成如下所示的代码

mkPersist sqlSettings [persistLowerCase|
Person
    name String
    age Int
    deriving Show
|]

如您所见,字段名的前缀是数据名(
personName
,而不是
name
)。这是Haskell中避免名称冲突的标准做法。

它应该是
vocabularyDate
,而不仅仅是
date
。 根据这本书的持续章节

将生成如下所示的代码

mkPersist sqlSettings [persistLowerCase|
Person
    name String
    age Int
    deriving Show
|]

如您所见,字段名的前缀是数据名(
personName
,而不是
name
)。这是Haskell的标准做法,以避免名称冲突。

我可以知道yesod书的哪一部分解释了这一点吗?我可以知道yesod书的哪一部分解释了这一点吗?
mkPersist sqlSettings [persistLowerCase|
Person
    name String
    age Int
    deriving Show
|]
data Person = Person
    { personName :: !String
    , personAge :: !Int
    }
  deriving Show
 ...