में सख्त डेटा संरचनाओं के लिए पुस्तकालय सख्त डेटा संरचनाओं को लागू करने वाले कौन से पुस्तकालय मौजूद हैं? विशेष रूप से, मैं सख्त सूचियों और सख्त सेट की तलाश में हूं।हास्केल
अस्वीकरण:
मैं deepseq के बारे में पता कर रहा हूँ। यह बहुत उपयोगी है, लेकिन जब भी आप deepseq (जो एक से अधिक हो सकता है) का उपयोग करते समय पूरी डेटा संरचना को पार करने के ऊपरी हिस्से को जोड़ता है।
मुझे पता है कि एक सख्त कंटेनर की तरह डेटा संरचना सब कुछ इसमें पूरी तरह से मूल्यांकन किया जाएगा सुनिश्चित नहीं हूँ, लेकिन संरचना में कोई सख्त होना चाहिए, जैसे:
data StrictList a = !a :$ !(StrictList a) | Empty
(यहाँ, निहित तत्व डब्ल्यूएचएनएफ में हैं, और संभवतः पूरी तरह से मूल्यांकन नहीं किए गए हैं, लेकिन सूची की संरचना है। उदाहरण के लिए, अनंत सूचियां गैर-समाप्ति मान होंगे।)
मुझे हैकेज पर 'सख्त' पैकेज के बारे में पता है, लेकिन इसमें बहुत सीमित है सख्त डेटा संरचनाओं का डी सेट। इसमें न तो सख्त सूचियां और सेट शामिल हैं।
सख्त सूचियों अपने आप आश्चर्यजनक आसान (मैं btw GHC के एक्सटेंशन प्यार प्राप्त करने के लिए functor, traversable और Foldable,।) लगता है लेखन, लेकिन यह अभी भी लगता है जैसे कि यह बेहतर एक अलग पुस्तकालय में किया होगा। और सेट के कुशल कार्यान्वयन मेरे लिए तुच्छ लगते हैं।
आपको सख्त संरचना की आवश्यकता क्यों है? – fuz
@FUZxxl यह सुनिश्चित करना कि बिना किसी देरी के चीजों का मूल्यांकन किया जा सके, अक्सर अंतरिक्ष उपयोग को कम कर सकते हैं और कंप्यूटेशंस को बहुत तेज बना सकते हैं। इसके विपरीत प्रभाव भी हो सकता है, इसलिए आलसी संरचनाएं भी महत्वपूर्ण हैं। कुशल कोड के लिए, आपको दोनों की आवश्यकता है (और जानना है कि कहां उपयोग करना है)। –
@FUZxxl: मैं एक सेट पर राज्य-मोनैड जैसी चीजें कर रहा था जहां मैं सेट से तत्वों को अक्सर सम्मिलित और हटा दूंगा लेकिन कुछ समय के लिए सेट का मूल्यांकन नहीं करता हूं। इसके परिणामस्वरूप एक अंतरिक्ष रिसाव हुआ, जिसे रीढ़-सख्त (धन्यवाद, जॉन एल) डेटा संरचनाओं द्वारा तय किया जा सकता है। – shahn