代替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