प्रश्न ओकासाकी के बाद से विशुद्ध रूप से कार्यात्मक डेटा संरचनाओं में नया क्या है? , और jbapple के महाकाव्य उत्तर, कार्यात्मक प्रोग्रामिंग में अंतर सूचियों (तर्क प्रोग्रामिंग के विपरीत) का उपयोग करते हुए उल्लेख किया गया है, जो कि हाल ही में मेरी दिलचस्पी है, इसने मुझे हास्केल के लिए अंतर सूची कार्यान्वयन का पता लगाने का नेतृत्व किया । मेरे दो प्रश्न हैं (मुझे माफ कर दो / यदि मैं उन्हें StackExchange पर दो अलग-अलग प्रश्न कर दूं)।
सरल प्रश्न है, क्या किसी को हास्केल पुस्तकालय में एक के अलावा कार्यात्मक प्रोग्रामिंग और / या कार्यान्वयन में अंतर सूचियों के अकादमिक विचार के बारे में पता है? jbapple के उत्तर में अंतर सूचियों के लिए प्रशस्ति पत्र नहीं दिया गया था (तर्क प्रोग्रामिंग में अंतर सूचियां विद्या में मौजूद हैं और कुछ स्रोतों में जो मेरे पास इधर कहीं है (टीएम))। हास्केल कार्यान्वयन को खोजने से पहले मुझे पता नहीं था कि यह विचार तर्क से कार्यात्मक प्रोग्रामिंग तक उछला था। दी गई, हास्केल अंतर सूची उच्च-क्रम के कार्यों के प्राकृतिक उपयोग के कुछ हैं और तर्क प्रोग्रामिंग में लोगों से काफी अलग काम करते हैं, लेकिन इंटरफ़ेस निश्चित रूप से समान है।
जितनी दिलचस्प (और दूर तक फ़ेज़ियर की अध्यक्षता वाली) बात मैं पूछना चाहता था कि क्या उक्त हास्केल अंतर सूची पुस्तकालय के लिए दावा किया गया एसिम्प्टोटिक ऊपरी सही / प्रशंसनीय है। मेरा भ्रम हो सकता है क्योंकि मैं आलस्य के साथ तर्क की जटिलता के बारे में स्पष्ट रूप से कुछ याद कर रहा हूं, लेकिन दावा किया सीमा केवल मेरे लिए समझ में आता है अगर एक बड़े डेटा संरचना (या बंद करने, या चर देखने, या कुछ ) पर प्रतिस्थापन हमेशा निरंतर समय लेता है। या "कैच" बस इतना है कि "हेड" और "टेल" के लिए रनिंग टाइम पर कोई बाध्य नहीं है, क्योंकि उन ऑपरेशनों को आस्थगित संगणना / प्रतिस्थापन के एक मनमाने ढेर के माध्यम से हल करना पड़ सकता है?