我有以下数据类型定义:
newtype Combine a b =
Combine { unCombine :: a -> b }
然后我可以定义如下:
Prelude> let f = Combine $ \n -> Sum (n + 1)
我的问题是,如何使用f
?
答案 0 :(得分:7)
Prelude Data.Monoid> unCombine f 1
Sum {getSum = 2}
Prelude Data.Monoid> unCombine f 42
Sum {getSum = 43}