3
我有以下數據類型定義:如何使用數據類型包含功能
newtype Combine a b =
Combine { unCombine :: a -> b }
,然後我可以定義如下:
Prelude> let f = Combine $ \n -> Sum (n + 1)
我的問題是,如何使用f
?
我有以下數據類型定義:如何使用數據類型包含功能
newtype Combine a b =
Combine { unCombine :: a -> b }
,然後我可以定義如下:
Prelude> let f = Combine $ \n -> Sum (n + 1)
我的問題是,如何使用f
?
Prelude Data.Monoid> unCombine f 1
Sum {getSum = 2}
Prelude Data.Monoid> unCombine f 42
Sum {getSum = 43}