titaniumdecoy
, मैं GHCi रहस्य की इस तरह के साथ मदद की जा याद है जब मुझे पता चला अक्सर बनाया मुद्दा यह है कि तरह बातें लिख 'चलो वर्ग एक्स = एक्स * एक्स' के अंदर GHCi है IO
इकाई में do
अंकन के साथ let a = f b
लेखन की तरह है - उदाहरण के इस तरह की में कहते हैं:
palindromize :: IO()
palindromize = do
a <- readFile "foo.txt"
let b = reverse a
putStrLn (a ++ b)
इसी प्रकार, जब आप जीएचसीआई में एक अभिव्यक्ति को फिर से परिभाषित करते हैं, यह do
में निम्नलिखित करने जैसा है अंकन, जो पूरी तरह से वैध है:
makeMess :: IO()
makeMess = do
a <- readFile "foo.txt"
let b = reverse a
putStrLn (a ++ b)
let b = a
putStrLn (a ++ b)
कोई भी इस तरह के एक दृश्य के बीच में एक डेटा प्रकार घोषणा करेंगे, लेकिन यह मॉड्यूल में कहीं और करना होगा। मैंने अनुमान लगाया होगा कि कुछ प्रकार की सैद्धांतिक आपत्ति थी, लेकिन डॉन एस की टिप्पणी से पता चलता है कि कोई नहीं है।
संभावित डुप्लिकेट [क्या यह जीएचसीआई में नए एडीटी को परिभाषित करना संभव है] (http://stackoverflow.com/questions/3849716/is-it-possible-to-define-new-adts-in-ghci) – newacct
@ newacct: मुझसे पूछे गए प्रश्न से पहले मैंने इस सवाल से पूछा था। – titaniumdecoy
जैसा कि एलेक्सी रोमनोव नीचे कहते हैं आप ghc 7.4.1 और बाद में कर सकते हैं। – Davorak