अक्सर मैं ऐसे पैटर्न के एक समारोह है:हास्केल - पैटर्न वाक्यात्मक चीनी मिलान और जहां
f :: a -> b
f x = case x of
... -> g ...
... -> g ...
...
... -> g ...
where g = ...
लगभग इस मामले के लिए एक वाक्यात्मक चीनी नहीं है:
f :: a -> b
f ... = g ...
f ... = g ...
...
f ... = g ...
दुर्भाग्य से मैं कर सकते हैं ' मुझे where
संलग्न करने के लिए संलग्न करें: मुझे स्पष्ट रूप से not in scope
एस का गुच्छा मिलेगा। मैं g
एक अलग फ़ंक्शन कर सकता हूं, लेकिन यह अच्छा नहीं है: मेरे मॉड्यूल का नामस्थान उपयोगिता कार्यों के साथ प्रदूषित हो जाएगा। क्या कोई कामकाज है?
आप की जरूरत नहीं है निर्यात करने के 'g', इस प्रकार नाम स्थान प्रदूषण केवल एक समस्या * में अपना एकल मॉड्यूल है। * –