【发布时间】:2012-03-06 19:46:46
【问题描述】:
我非常了解data、newtype 和type 之间的区别。我正在编写一个小脚本,它将构建某种语法树。 几乎所有类型都有一个构造函数。我避免type 强制安全(多个“不同”类型可能最终在 Haskell 中具有相同的类型)。在这种情况下,我不关心惰性/严格性,也不关心性能(这部分绝不是性能关键)。我主要关注风格。我有三个选择:
- 仅使用
data。这感觉不错,除了我有许多类型,只有一个构造函数和一个参数。代码看起来有些浪费……虽然我不在乎性能提升,但就是感觉不对。 - 仅使用
newtype。在多个参数的情况下,这会导致元组出现很多丑陋。 - 混合使用
data和newtype,它们看起来有点不统一且有点烦人。我宁愿以单一一致的方式声明所有类型。
我在选择 1 和 3 之间进退两难。
【问题讨论】:
标签: haskell coding-style