जोड़ तोड़ अगर मैं monads के एक ढेर है, कहते हैं कि IO
, State
और Error
, और एक समारोह है कि केवल IO
और Error
उपयोग करता है। स्टैक से मध्य State
मोनैड को "हटाने" के बारे में कैसे जाना होगा ताकि मैं अपने फ़ंक्शन का उपयोग कर सकूं? अगर ऑर्डर IO
, Error
, State
है, तो मैं lift
का उपयोग मिलान करने के लिए कर सकता हूं, लेकिन अगर मैं मोनैड स्टैक में IO
और Error
और संभवतः अन्य मोनैड जो भी ऑर्डर में है, तो मैं अपने फ़ंक्शन का उपयोग करने में सक्षम होना चाहता हूं। उदाहरण के लिए:इकाई ढेर
fun :: ErrorT String IO()
fun = throwError "error"
someCode :: ErrorT String (StateT Int IO)()
someCode = do
-- I want to use fun here
यह अद्भुत है, धन्यवाद! –