Mat*_*hid 13 string haskell types
标准库提供了一个printf功能,可以成为varadic.然而,它没有做的是编译时检查参数类型是否与格式字符串匹配.这需要依赖类型,听起来真的很难实现!(你必须使用类型签名来解析整个格式字符串...哎呀!)
printf
但经过反思,现在我想知道......我们可以用模板Haskell做到这一点吗?事实上,有没有人为此写过一个库?
(看起来你可以很容易地编写一个准引脚来读取printf格式规范并生成必要的N-arg函数......)
Car*_*arl 8
是的,这是可能的.是的,它已经完成了.你应该真的检查这个问题的hackage:http://hackage.haskell.org/package/Printf-TH
kos*_*kus 6
如果您愿意接受"格式字符串"实际上不是字符串,那么您也可以直接在Haskell中实现类似printf的函数.
例如,在Ralf Hinze的一篇名为" 格式化:集体行为 " 的论文中对此进行了描述.在Hackage上,我只能找到实现类似于这种方法的xformat包.
归档时间:
12 年,11 月 前
查看次数:
750 次
最近记录: