Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 在Yesod中添加自定义数据类型_Haskell_Yesod_Organization - Fatal编程技术网

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

Haskell 在Yesod中添加自定义数据类型,haskell,yesod,organization,Haskell,Yesod,Organization,我正在使用搭建的yesod模板,希望为货币值添加一个新类型。理想情况下,这应该在一个名为Money.hs的文件中完成,例如。但这将形成循环进口: 基金会导入模型 新的货币类型将在模型中用于存储货币 价值观因此,模型将不得不输入资金 货币必须为“代码”引入基础:货币场::场 Handler Money函数 TL DR:有没有一种“正确”的方法可以将新类型添加到搭建好的YesSOD应用程序中,包括sql db类型、shakespeare字段小部件和ToHtml实例?关于第三个要点:为什么需要引用

我正在使用搭建的yesod模板,希望为货币值添加一个新类型。理想情况下,这应该在一个名为Money.hs的文件中完成,例如。但这将形成循环进口:

  • 基金会导入模型

  • 新的货币类型将在模型中用于存储货币 价值观因此,模型将不得不输入资金

  • 货币必须为“代码”引入基础:货币场::场 Handler Money函数


TL DR:有没有一种“正确”的方法可以将新类型添加到搭建好的YesSOD应用程序中,包括sql db类型、shakespeare字段小部件和
ToHtml
实例?

关于第三个要点:为什么需要引用
处理程序?您可以采用与中内置字段相同的方式构造字段代码,例如:


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

这很有效,谢谢。另一个快速问题是,如何将类型封送到数据库值?我有一个
PersistField
实例,但
PersistFieldSql
似乎是隐藏的,我想两者都需要。该类是从Database.Persist.Sql中公开的。见:
textField :: Monad m => RenderMessage (HandlerSite m) FormMessage => Field m Text