在 Yesod 中添加自定义数据类型

Adding custom datatype in Yesod

我正在使用脚手架 yesod 模板并希望为货币值添加一个新类型。理想情况下,这应该在一个名为 Money.hs 的文件中完成。但是这样会形成循环导入:

TL DR:是否有 "correct" 方法将新类型添加到脚手架 yesod 应用程序,包括 sql 数据库类型、莎士比亚领域小部件和 ToHtml 实例?

第三个要点:为什么需要参考 Handler?您可以像 Yesod.Form.Fields 中的内置字段一样构造您的字段代码,例如:

textField :: Monad m => RenderMessage (HandlerSite m) FormMessage => Field m Text

因此:我会说 Money.hs(甚至 Data/Money.hs)最有意义。