我试图使用renderWithSplices
- http://hackage.haskell.org/package/snap-1.0.0.0/docs/Snap-Snaplet-Heist.html#v:renderWithSplices
获取Splices s
类型的值的惯用方法是什么(第二个参数为renderWithSplices
)?
答案 0 :(得分:1)
heist tutorial有两个定义Splices
类型的示例。
如果您点击上面链接的黑线鳕链中的Splices
链接,我们会看到Splices
的定义如下:
type Splices s = MapSyntax Text s
如果您再点击MapSyntax
链接,则会转到map-syntax
包的文档。这是一个小包,定义了一些更方便的创建地图的语法。顶部有一个例子,但一般模式如下:
mySplices = do
k1 ## v1
k2 ## v2
由于前面的定义告诉我们键是文本,我们可以执行以下操作来找出值的类型需要:
someFunc = do
...
renderWithSplices "my-template" mySplices
...
mySplices = do
"foo" ## I.textSplice "bar"
如果你有一个最近的GHC(我认为7.8或更高),最后一行的下划线将创建一个类型漏洞,并使编译器告诉你该位置的东西应该是什么类型。然后你可以写出那种类型的适当的东西,从那里开始应该更明显。