सूचियों या सरणियों पर काम करने के लिए कुछ उच्च-क्रम के कार्यों को बार-बार अपनाया गया या फिर से अपनाया गया है। कार्यों का नक्शा , गुना [ एल | r ], और फ़िल्टर एक साथ कई प्रोग्रामिंग भाषाओं में पाए जाते हैं, जैसे कि स्कीम, ML, और पायथन, जो कि एक सामान्य पूर्वज नहीं हैं। सवाल को केंद्रित रखने के लिए मैं इन तीन नामों के साथ जा रहा हूं।
यह दिखाने के लिए कि नाम सार्वभौमिक नहीं हैं, यहां अन्य भाषाओं में समान कार्यक्षमता के लिए नामों का नमूना है। C ++ में नक्शे के बजाय ट्रांसफ़ॉर्म और फ़िल्टर के बजाय remove_if हैं (विधेय के अर्थ को उलटते हुए)। लिस्प है mapcar के बजाय नक्शा , निकालें-अगर-नहीं के बजाय फिल्टर , और कम करने के बजाय गुना (कुछ आधुनिक लिस्प वेरिएंट है मानचित्र लेकिन यह प्रकट होता है एक होने के लिए ली गई प्रपत्र ।) सी # का उपयोग करता है का चयन करें के बजाय नक्शा और कहाँ के बजायफ़िल्टर करें । LINQ के माध्यम से C # के नाम SQL से आए , और नाम परिवर्तन के बावजूद, उनकी कार्यक्षमता हास्केल से प्रभावित थी, जो स्वयं ML से प्रभावित थी।
नाम मानचित्र , गुना और फ़िल्टर व्यापक हैं, लेकिन सार्वभौमिक नहीं हैं। इससे पता चलता है कि उन्हें एक प्रभावशाली स्रोत से अन्य समकालीन भाषाओं में उधार लिया गया था। ये फ़ंक्शन नाम कहाँ से आए?
mapcar
एक नक्शा है, कार पर (सीडीआर के बजाय)।
filter
वास्तव में ऐसा करता है - यह डेटा को फ़िल्टर करता है। बहुत स्पष्ट लगता है।
map
गणितीय सेट सिद्धांत से आएगा, जो इनपुट डोमेन से आउटपुट रेंज तक "मैपिंग" के रूप में सेट परिवर्तनों का वर्णन करता है।