हास्केल Control.Arrow
प्रलेखन में यह मोनैड के क्लेस्ली तीर के संबंधों के बारे में बात करता है, लेकिन यह मेरे लिए स्पष्ट नहीं है कि इसका उपयोग कैसे किया जाए। मेरे पास एक ऐसा कार्य है जो मुझे लगता है कि आईओ मोनैड को छोड़कर तीरों के साथ फिट बैठता है, इसलिए मुझे लगता है कि क्लेस्ली तीर मदद कर सकते हैं।मोनैड के साथ क्लेस्ली तीरों का उपयोग कैसे करें?
निम्न कार्य करें जो निर्देशिका के मूल और संशोधित फ़ाइल नामों के जोड़े देता है।
import System.Directory
import System.FilePath
datedFiles target = do
fns <- getDirectoryContents target
tms <- mapM (fmap show . getModificationTime) fns
return $
zip fns $
zipWith replaceBaseName fns $
zipWith (++) (map takeBaseName fns) tms
अगर मैं इसे बाहर आकर्षित करने के लिए किया था, यह कुछ इस तरह होगा:
मुझे लगता है कि यह Kleisli तीर के प्रयोग से लाभ कर सकते हैं, लेकिन मैं पता नहीं कैसे । क्या कोई मार्गदर्शन प्रदान कर सकता है?