2010-04-24 8 views
15

एक क्षेत्र के तर्क को जानना मुझे बहुत मदद करता है, खासतौर से क्योंकि यह मुझे उन लोगों के साथ बुद्धिमानी से बातचीत करने की इजाजत देता है जो मुझे बहुत अधिक जानते हैं, इसलिए मैं कार्यात्मक प्रोग्रामिंग शर्तों का एक अच्छा शब्दावली खोजना चाहता हूं।फंक्शनल प्रोग्रामिंग लेक्सिकॉन

उदाहरण के लिए, मैं बार-बार इनका सामना करता हूं: फंक्टर, तीर, श्रेणी, क्लेस्ली, मोनाड, मोनॉयड, मॉर्फिज्म का एक वास्तविक चिड़ियाघर, आदि। मुझे यह भी पता है कि इनमें से कई उपसर्गों जैसे "कॉन्वेंट", "सह-" , "एंडो-" आदि

इनमें से, मैं कह सकता हूं कि मैं वास्तव में मोनॉयड और कोविरिएंट को समझता हूं और मोनाड प्राप्त करता हूं, लेकिन शेष अभी भी मेरे लिए चिंतित हैं। (ध्यान दें कि मेरा मतलब यह सूची पूरी तरह से नहीं है और मैं यहां इन परिभाषित या वर्णित नहीं दिख रहा हूं, मैं संसाधन सीखने की तलाश में हूं।)

क्या कोई मुझे एफपी लेक्सिकॉन की ओर इंगित कर सकता है? इसे ऑनलाइन होने की आवश्यकता नहीं है, जब तक इसे खोजना संभव हो (और यह दुर्लभ मात्रा नहीं है जिसके लिए मुझे कई दस डॉलर का भुगतान करना होगा)।

+1

विकिपीडिया हमेशा काम करता है: "एक मोनैड या ट्रिपल एक (एंडो-) मज़ेदार है, साथ ही साथ दो संबंधित प्राकृतिक परिवर्तनों के साथ। मोनैड आसन्न मज़दूरों के जोड़ों के सिद्धांत में महत्वपूर्ण हैं, और वे आंशिक रूप से आदेशित सेटों पर मनमाने ढंग से सेट ऑपरेटर को सामान्यीकृत करते हैं श्रेणियां। "एक मोनड के लिए बीजगणित" की धारणा सार्वभौमिक बीजगणित से शास्त्रीय विचारों को सामान्यीकृत करती है, और इस अर्थ में, मोनैड को "सिद्धांत" के रूप में माना जा सकता है। " .................. ठीक है, शायद हमेशा सबसे अच्छा संसाधन नहीं है। –

+2

मजेदार। जबकि मुझे शब्दकोश के माध्यम से अंग्रेजी शब्दों का पीछा करना पसंद है, ये सिर्फ वही मजा प्रदान नहीं करते हैं। –

+0

विकिपीडिया के लिए उचित होने के लिए, इसमें एफपी द्वारा उपयोग किए जाने वाले मोनैड के बारे में एक अलग लेख है, और यह थोड़ा कम गणितीय है। –

उत्तर

9

जैसा कि अन्य उत्तरों ने इंगित किया है, वास्तव में उन शर्तों को समझने के लिए जिन्हें आपको श्रेणी सिद्धांत का अध्ययन करना है। हालांकि, श्रेणी सिद्धांत बहुत सार है और आप अंतर्ज्ञान को तुरंत बनाने में मदद नहीं कर सकते हैं। कार्रवाई में अमूर्त अवधारणाओं को देखने के लिए, मैं टाइपक्लासोपियाडिया (PDF) (blog announcement) की अत्यधिक अनुशंसा करता हूं।

+1

Typeclassopedia बहुत अच्छा लगता है, धन्यवाद! –

+0

मैं अनुशंसा करता हूं। –

5

शर्तों आप उदाहरण के रूप में इस्तेमाल किया में से कई श्रेणी थ्योरी से कर रहे हैं, और सबसे अच्छा संसाधन मैं परिस्थितियों में पता बेंजामिन पियर्स की "कंप्यूटर वैज्ञानिकों के लिए बेसिक श्रेणी सिद्धांत"

+0

यह भी महंगा नहीं है: यूएस में $ 21। http://www.amazon.com/exec/obidos/ASIN/0262660717?redirect=true –

+0

एक सहयोगी ने सुझाव दिया कि यह पाठ वर्तमान एफपी उपयोग के साथ इतना संरेखित नहीं है।उन्होंने इंगित किया कि यह मोनाड्स से बिल्कुल निपट नहीं पाता है, शायद एफपी दुनिया का सबसे बड़ा एकल जुनून (या ऐसा लगता है)। और मैंने जो मस्तिष्क सुना है, वह प्रकट नहीं होता है, या तो। संक्षेप में, यह प्रोग्रामर के लिए एफपी तकनीकों के एक सारांश से अधिक श्रेणी सिद्धांत प्राइमर लगता है। –

7

है इन कार्यात्मक-प्रोग्रामिंग मामले नहीं हैं; वे श्रेणी सिद्धांत से शर्तें हैं। यह सच है कि कुछ हद तक कुलीन कार्यात्मक प्रोग्रामर कार्यात्मक प्रोग्रामिंग (कोनल इलियट, राल्फ हिनज, चुंग-चीह शान, अपने कार्यालय को फोन करने) में अंतर्दृष्टि प्राप्त करने के लिए श्रेणी सिद्धांत का उपयोग करते प्रतीत होते हैं, लेकिन ये लोग अल्पसंख्यक हैं। इन शर्तों के बारे में, मैंने पियर्स की पुस्तक से संघर्ष किया लेकिन मुझे बेहतर स्रोत नहीं पता — हालांकि Dan Piponi में उनके ब्लॉग पर बहुत से संबंधित सामग्री हैं; मैं आपको वहां देखने के लिए प्रोत्साहित करता हूं। (2012 अपडेट: हैरोल्ड सिमन्स की श्रेणी सिद्धांत पर एक नई पुस्तक है जो काफी अच्छी लगती है, और कंप्यूटिंग समीक्षा [पेवेल के पीछे] की बहुत अच्छी समीक्षा की गई। केवल शिकायत यह है कि उदाहरण गणित से हैं और नहीं कंप्यूटिंग से।)

कुछ शब्द जो आप कार्यात्मक प्रोगोगर्स से सुन सकते हैं: "नक्शा फ़ंक्शन", "फोल्ड फ़ंक्शन", "उच्च-आदेश फ़ंक्शन", "पॉइंट-फ्री प्रोग्रामिंग", "योग प्रकार", "उत्पाद प्रकार" , "कैटोमोर्फिज्म", "चर्च एन्कोडिंग", "गणना कार्यक्रम", "टाइप-निर्देशित प्रोग्रामिंग", "उचित पूंछ कॉल", "संचय पैरामीटर"। मैं एक जगह में इकट्ठे हुए एक अच्छे लेक्सिकॉन के बारे में नहीं जानता। ग्राहम हटन की पुस्तक हास्केल में प्रोग्रामिंग शुरू करने के लिए एक जगह हो सकती है, या रिचर्ड बर्ड और फिल वाडलर की पुरानी पुस्तक हो सकती है।

+0

"... कुछ हद तक कुलीन कार्यात्मक प्रोग्रामर कार्यात्मक प्रोग्रामिंग में अंतर्दृष्टि प्राप्त करने के लिए श्रेणी सिद्धांत का उपयोग करने लगते हैं ..." मुझे लगता है कि मैं बुरी भीड़ के साथ गिर गया हूं ... –

+0

@Randall: नहीं, आप एक हैं भाग्यशाली आदमी। काश मैं इसे कर सकता था। मैं इस गर्मी में फिर से प्रयास करने जा रहा हूं ... –

+3

नॉर्मन, आपको पता नहीं है कि आपने मुझे पिछले कुछ महीनों में पढ़े गए सभी दिमागी झुकाव वाले हास्केल पत्रों के बारे में कितना बेहतर महसूस किया है। मैंने हाल ही में किसी मजाक को सुना है कि हास्केल को समझने के लिए * दो * पीएचडी की आवश्यकता है। यदि आप संघर्ष कर रहे हैं, तो हम सभी के लिए आशा है ... – rtperson

संबंधित मुद्दे