c++ - सी++ में कार्यात्मक डेटा संरचनाएं




data-structures functional-programming (2)

क्या किसी को सी ++ डेटा स्ट्रक्चर लाइब्रेरी के बारे में पता है जो परिचित एसटीएल संरचनाओं के समकक्ष कार्यात्मक (उर्फ अपरिवर्तनीय, या "एफपी भावना में" लगातार "प्रदान करता है?

"कार्यात्मक" से मेरा मतलब है कि ऑब्जेक्ट्स स्वयं अपरिवर्तनीय हैं, जबकि उन वस्तुओं में संशोधन नई ऑब्जेक्ट्स को समान ऑब्जेक्ट्स को मूल ऑब्जेक्ट के रूप में साझा करते हैं जहां उपयुक्त हो।

आदर्श रूप में, ऐसी पुस्तकालय एसटीएल जैसा दिखता है, और बूस्ट के साथ अच्छी तरह से काम करेगा। फीनिक्स (चेतावनी- मैंने वास्तव में फीनिक्स का उपयोग नहीं किया है, लेकिन जहां तक ​​मैं कह सकता हूं कि यह कई एल्गोरिदम प्रदान करता है लेकिन कोई डेटा संरचना नहीं है, जब तक कि आलसी-गणना नहीं हुई मौजूदा डेटा संरचना की गणना के लिए - क्या यह करता है?)


मैं देखता हूं और देखता हूं कि यानीस स्मारगदाकिस द्वारा विकसित FC++ में कोई डेटा संरचना शामिल है या नहीं। निश्चित रूप से यह परियोजना किसी अन्य से अधिक है C ++ में एक कार्यात्मक शैली का समर्थन करने के बारे में है।


यह एक विस्तृत उत्तर से ऊपर एक सिर है, लेकिन Bartosz Milewski इस पर बहुत काम किया है प्रतीत होता है। उदाहरण के लिए देखें:

http://bartoszmilewski.com/2013/11/13/functional-data-structures-in-c-lists/

ऐसा लगता है कि उन्होंने ओकासिकी की पुस्तक शुद्ध रूप से कार्यात्मक डेटा संरचनाओं से बहुत सारे एल्गोरिदम लागू किए हैं:

https://github.com/BartoszMilewski/Okasaki

एनबी मैंने अभी तक इन्हें आजमाया नहीं है, लेकिन वे पहले सी ++ लगातार डेटा संरचनाएं हैं जिन्हें मैंने एफसी ++ के बाहर देखा है।

उम्मीद है कि, मैं जल्द ही उन्हें कोशिश करूँगा।







boost-phoenix