2014-10-08 16 views

回答

13

另外,注意,功能hf相應品種,

h >>= f = \w -> f (h w) w 

所以你可以寫

f >>= (,) 
+4

我不認爲這是一個元組節,我認爲這是標準的。 – 2014-10-08 22:10:17

+0

我喜歡這個,因爲它避免了導入。 – 2014-10-09 00:05:54

+0

已修復,@DietrichEpp。 – dfeuer 2014-10-09 01:15:23

11
import Control.Arrow 
(g &&& f) v = (g v, f v) 
-- ergo, 
(id &&& f) v = (v, f v) 
(f &&& id) v = (f v, v) 
+4

或者,也從'Control.Arrow','first'和'秒'。 – Zeta 2014-10-08 21:43:23

5

如何使用Applicative實例(->)

liftA2 (,) id :: (a -> b) -> a -> (a, b) 

例如

liftA2 (,) id succ 5 

>>> (5,6)