6
एक आवेदक मज़ेदार f
को देखते हुए, मुझे एक नया आवेदक मज़ेदार Rev f
f
जैसे विचारों का उलट था, लेकिन प्रभावों के क्रम के साथ। संदेश यह है:आवेदक फ्लाक्टर जो प्रभावों के क्रम को उलट देता है
import Control.Applicative
newtype Rev f a = Rev {unRev :: f a}
instance Functor f => Functor (Rev f) where
fmap f (Rev fx) = Rev (fmap f fx)
instance Applicative f => Applicative (Rev f) where
pure x = Rev (pure x)
(Rev ff) <*> (Rev fx) = Rev (pure (\x f -> f x) <*> fx <*> ff)
मेरे सवालों का
- है कि एक वैध
Applicative
उदाहरण (यहApplicative
नियमों का पालन करता है) कर रहे हैं? - इस निर्माण एक नाम है? वहाँ एक मॉड्यूल कहीं इस में छिपा है है?
आप 'Backwards' अनुप्रयोगी functors में रुचि रखते हैं, तो आप' Data.Functor.Reverse', जो परतों और पीछे की ओर पार करता भी तरह। तुम भी 'tardis' राज्य ट्रांसफार्मर दिलचस्प मिल सकता है। – dfeuer