कार्यात्मक डेटा संरचनाएं (जैसे हैशेल/क्लोजर/स्कैला में उपयोग की गई हैश ऐरे मैप्ड ट्री) अंतर्निहित डेटा संरचना में बहुत से साझाकरण पर भरोसा करती है। उदाहरण के लिए, यदि हम नक्शा-जैसे डेटा प्रकार पर insert
लागू करते हैं जो आम तौर पर डेटा संरचना को लागू करने वाले पेड़ पर पथ-प्रतिलिपि द्वारा कार्यान्वित किया जाता है।क्या जंग का उधार नियम कार्यात्मक डेटा संरचनाओं के रास्ते में मिलता है?
यह देखते हुए कि इन डेटा संरचनाओं को अंतर्निहित मूल्यों (और कोई मूल मालिक नहीं) पर भरोसा करने पर भरोसा है, क्या इस तरह के ढांचे को लागू करने के तरीके में उधार लेना होगा?
वाक्यांश के रूप में, यह प्रश्न अत्यधिक व्यापक या राय आधारित लगता है। क्या आपने कुछ करने की कोशिश की है और यह काम नहीं कर रहा है? क्या आप "बचाना हैच" से अवगत हैं जो 'असुरक्षित' प्रदान करता है? यहां किस प्रकार का जवाब मान्य होगा? एक [हैमेट क्रेट] (https://crates.io/crates/hamt/) है, क्या यह एक उत्तर प्रदान करता है? – Shepmaster
[इस प्रश्न] का जवाब देखें (https://stackoverflow.com/questions/31227269/generic-types-ownership-and-persistent-data-structures?rq=1)। यह बताता है कि 'आरसी' एक ही डेटा के कई मालिकों को अनुमति देता है, और जब यह एक प्रतिलिपि '.clone() 'की तरह दिखता है, तो यह एक उथली प्रतिलिपि है जो वास्तव में डेटा की प्रतिलिपि नहीं बनाता है। यह वास्तव में अपरिवर्तनीयता है जो ऐसा होने की अनुमति देता है। हैमेट क्रेट 'आरसी' का उपयोग करता है [यहां] (https://github.com/rainbowbismuth/hamt-rs/blob/master/src/lib.rs#L801)। –
साझा अपरिवर्तनीय स्वामित्व आम तौर पर जीसी स्पष्ट करके सरल है। चक्रीय डेटा समस्याग्रस्त हिस्सा है। – Veedrac