Control.Monad.Morph
Control.Monad.Morph.hoist क्यों एक मोनाद बाधा है?
class MFunctor t where
hoist :: Monad m => (forall a. m a -> n a) -> t m b -> t n b
शामिल जहाँ तक मेरा बता सकते हैं, शामिल उदाहरणों में से कोई भी Monad m
बाधा का उपयोग करें। कोई ऐसा कैसे कर सकता है? क्या वैध उदाहरण हैं जो बाधा का उपयोग करते हैं (यह कल्पना करना मेरे लिए थोड़ा मुश्किल है कि hoist id = id
दिया गया)? m
पर बाधा का महत्व क्या है और n
नहीं है?
मैं कुछ ['Control.Monad.Trans.Compose'] में ब्रेक करने की उम्मीद कर रहा था (https://hackage.haskell.org/package/mmorph-1.0.6/docs/Control-Monad-trans-Compose। एचटीएमएल), लेकिन सबकुछ 'मोनाद' पर 'मोनाड एम' के बिना ठीक से संकलित करता है ... – Alec
शायद क्योंकि यह केवल मोनैड के लिए समझ में आता है? यह एक मोनैड ट्रांसफार्मर (ढेर) पर एक मजेदार है, जहां तक मैं देख सकता हूं। – Xeo
@Alec 'Control.Monad.Trans.Compose' में 'MFunctor' उदाहरण नहीं है। – Cirdec