Data.Time.Calendar.Day有Data.Binary实例吗?

时间:2013-11-05 14:48:18

标签: haskell

Data.Binary是否有Data.Time.Calendar.Day个实例?

更一般地说,如果在广泛使用的库中没有为特定数据类型提供Data.Binary,应该做什么?

1 个答案:

答案 0 :(得分:1)

如果您只是创建一个Binary实例并将其放置在您的模块中,那么您将创建一个孤立实例,以后当有人导入您的模块时会导致很多混乱 - 它会拖延那个孤儿实例,可能与他们对日期的理解有冲突Binary

如果您有一个非常规范的实例,请尝试将其推送到库作者。如果它是一个好主意,它很容易添加实例,它可以使任何使用该库的人受益。

如果这不是一个选项(或者如果你有一个非规范实例),那么你可能想要创建一个newtype包装器。它们是“免费的”,因为编译器会自动删除它们,但是它们允许类型在新的类型类实例中采用全新的标识。

我之前已经完成了这项工作,以处理特定的解析,例如“格式的日期”与Date广泛相比。