代替fmap
,其應用一個函數的值,在-A-算符:這個函數或模式是否有名字?
fmap :: Functor f => (a -> b) -> f a -> f b
我需要的地方函子具有這樣的功能的函數,並且該值是純:
thing :: Functor f => f (a -> b) -> a -> f b
這個模式叫做什麼,我在其中應用函子中的函數(或者在應用中,或者在monad中)到一個普通的值?
我已經實現了它,我只是不太明白我做了什麼以及爲什麼標準庫中沒有這樣的函數。
這不僅僅是申請者的特例嗎?像'func <*>純價值'? – 2012-04-25 16:21:40
請注意,該類型與「ap」和「<*>」非常相似。雖然我沒有看到相應的「Functor」版本,並且可以在不假設「Applicative」或「Monad」的情況下實現:'fs'= fmap(\ f - > fx)fs' – 2012-04-25 16:23:00
是的,lambdabot說'thing =(.pure)。 (<*>)'或'thing = flip(fmap。flip id)'。但我知道這不是你想知道的:) – 2012-04-25 16:26:17