के बिना दो डेटा.Texts में शामिल होने का मानक तरीका मुझे लगता है कि Data.Text
भविष्य में Haskell संस्करणों में String
एस को प्रतिस्थापित करने जा रहा है। मेरे पास एक मुद्दा यह है कि (++)
केवल सूचियों के लिए परिभाषित किया गया है। दो Text
रों श्रेणीबद्ध करने के लिए, मैं'mappend`
text1 `mappend` text2
कौन सा जल्दी वर्बोस हो जाता है प्रयोग करना होगा। आदर्श रूप से मैं इन Text
एस पर ++
का उपयोग करने में सक्षम होना चाहता हूं, लेकिन यदि नहीं, तो दूसरा विकल्प क्या है? मैं अपना खुद का इंफिक्स ऑपरेटर परिभाषित कर सकता हूं, लेकिन मुझे ऐसा करने का एक मानक तरीका चाहिए।
यह एक खराब नामित ऑपरेटर है। '<>' में "बराबर नहीं" के अर्थशास्त्र हैं। यह सभी मोनोइड्स पर काम करने के लिए '++' को सामान्यीकृत करने के लिए अच्छा होगा। –
<> चुना गया था क्योंकि यह पहले से ही मोनोइडल सेमेन्टिक्स के साथ सुंदर प्रिंटिंग लाइब्रेरीज़ द्वारा उपयोग में था, और इसका कम से कम घुसपैठ करने वाला विकल्प जो मौजूदा कोड को तोड़ता नहीं है, या विषम पूर्वाग्रह है। दूसरी ओर सामान्यीकृत (++), इस तरह से नहीं किया जा सकता है जो प्राथमिकता स्तर के कारण अच्छी सुंदर मुद्रण पुस्तकालयों के लिए बनाता है, और इसका उपयोग हैकेल 98 से पहले एक और अर्थ होता था, जब इसका उपयोग हमारे लिए किया जाता था अब mplus कॉल करें। अगर हम अन्य भाषाओं में अर्थों से चीजों से परहेज करते हैं तो हमारे पास कोई ऑपरेटर नहीं छोड़ेगा! ऑपरेटर <<, >>, -,!,%, आदि। अन्य सभी भाषाओं में अन्य अर्थशास्त्र भी हैं। –
अजीब, मैं इसका उपयोग करने की कोशिश कर रहा हूं लेकिन 'दायरे में नहीं:' <> ''प्राप्त कर रहा हूं। जीएचसी 7.10.3 – klappvisor