हां, याद किए गए शुद्ध कार्य आमतौर पर शुद्ध कहे जाते हैं। हास्केल जैसी भाषाओं में यह विशेष रूप से आम है, जिसमें संस्मरणित, आलसी-मूल्यांकनित, अपरिवर्तनीय परिणाम एक अंतर्निहित विशेषता है।
एक महत्वपूर्ण चेतावनी है: संस्मरण फ़ंक्शन थ्रेड-सुरक्षित होना चाहिए, अन्यथा आपको एक दौड़ की स्थिति मिल सकती है जब दो थ्रेड्स दोनों इसे कॉल करने का प्रयास करते हैं।
इस तरह से "विशुद्ध रूप से कार्यात्मक" शब्द का उपयोग करने वाले एक कंप्यूटर वैज्ञानिक का एक उदाहरण यह ब्लॉग पोस्ट है, जो कॉनल इलियट द्वारा स्वत: लोड के बारे में है:
शायद आश्चर्यजनक रूप से, संस्मरण को एक आलसी कार्यात्मक भाषा में बस और विशुद्ध रूप से कार्यात्मक रूप से लागू किया जा सकता है।
सहकर्मी की समीक्षा की गई साहित्य में कई उदाहरण हैं, और दशकों से हैं। उदाहरण के लिए, 1995 का यह पत्र, "वास्तविक-विश्व AI सिस्टम में एक सॉफ्टवेयर इंजीनियरिंग उपकरण के रूप में स्वचालित संस्मरण का उपयोग करना" , खंड 5.2 में बहुत ही समान भाषा का उपयोग यह बताने के लिए करता है कि हम आज एक शुद्ध कार्य को क्या कहेंगे:
संस्मरण केवल सच्चे कार्यों के लिए काम करता है, प्रक्रियाओं के लिए नहीं। यही है, अगर किसी फ़ंक्शन का परिणाम पूरी तरह से और निर्दिष्ट रूप से उसके इनपुट मापदंडों द्वारा निर्दिष्ट नहीं है, तो मेमोइज़ेशन का उपयोग करने से गलत परिणाम मिलेंगे। पूरे सिस्टम में एक कार्यात्मक प्रोग्रामिंग शैली के उपयोग को प्रोत्साहित करके सफलतापूर्वक संपन्न किए जा सकने वाले कार्यों की संख्या बढ़ाई जाएगी।
कुछ अनिवार्य भाषाओं में एक समान मुहावरे होते हैं। उदाहरण के लिए, static const
C ++ में एक वैरिएबल को केवल एक बार इनिशियलाइज़ किया जाता है, इससे पहले कि इसकी वैल्यू का उपयोग किया जाता है, और कभी भी म्यूट नहीं किया जाता है।