[बंद] से पढ़ने और सीखने के लिए अच्छा हास्केल स्रोत


347

कुछ खुले स्रोत कार्यक्रम क्या हैं जो हास्केल का उपयोग करते हैं और उन्हें अच्छी गुणवत्ता वाले आधुनिक हास्केल माना जा सकता है ? कोड आधार जितना बड़ा होगा, उतना बेहतर होगा।

मैं उनके स्रोत कोड से सीखना चाहता हूं। मुझे लगता है कि मैं छोटे कोड उदाहरणों से सीखने की बात कर रहा हूं, जो अक्सर गूढ़ और छोटी दुनिया में होते हैं। मैं देखना चाहता हूं कि कोड कैसे संरचित है, कैसे मोनड्स बातचीत करते हैं जब आपके पास बहुत सी चीजें चल रही होती हैं (लॉगिंग, आई / ओ, कॉन्फ़िगरेशन, आदि)।


9
भले ही यह प्रश्न बंद कर दिया गया है, फिर भी उपयोगकर्ता 'स्वीकृत' उत्तर को संपादित कर सकते हैं और इसमें अपना उत्तर जोड़ सकते हैं।
जॉर्ज स्टॉकर

जवाबों:


276

मैं क्या सलाह देता हूं।

1990 के दशक में विभिन्न ग्रेडिंग स्कूलों के लोगों द्वारा कोड पढ़ें

कुछ खास लोगों (अधूरी सूची) के पुराने स्वामी द्वारा कोड पढ़ें

ध्यान दें कि मेरे जैसे लोग, काउट्स, मिशेल, ओ'सुल्लीवन, लिंगाग, आदि ने इन लोगों के बारे में हमारी हास्केल शैली सीखी।

कुछ एप्लिकेशन पढ़ें


98
यह विशिष्ट हैस्केल बांध है। Php के साथ आप एक हैलो दुनिया पढ़ते हैं और सीधे गरीब वेब-साइट लिखने पर जाते हैं। हैस्केल के साथ, आप जो कुछ भी सीख सकते हैं, उस पर कोई ऊपरी सीमा नहीं है, हमेशा अधिक दिलचस्प एक्सटेंशन और पेपर आते हैं। और अभी-अभी मैंने सीखा है कि विश्वविद्यालयों की अलग-अलग शैलियाँ होती हैं, और उसके बाद मुझे उन सभी की जाँच करनी चाहिए ... मेरे पास वास्तव में अपनी खुद की हैस्केल परियोजनाएँ लिखने का समय कब है? :)
टार्चश

39
क्या, संक्षेप में, विभिन्न शैलियों की विशेषताएं हैं?
गत

17
@ इगुटुर: और, अधिक महत्वपूर्ण बात, वे अलग क्यों हैं? क्या अच्छे तकनीकी कारण थे?
रॉबर्ट मैसैओली

10
मेरे विचार में, विभिन्न शैलियों को पूर्व-विकी / इंटरनेट युग में विभिन्न स्कूलों की भौगोलिक पृथक्करण (और कभी-कभी दार्शनिक असहमति) का परिणाम है; और शैली को प्रभावित करने वाले प्रत्येक स्कूल में प्रोटो-हास्केल भाषाओं की विरासत। हैकेज, विकिस और जीथूब के उद्भव के साथ अब काफी हद तक एक सजातीय हास्केल शैली (ग्लासगो और जीएचसी उपयोग पर आधारित) है।
डॉन स्टीवर्ट

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

61

XMonad एक ओपन सोर्स टाइलिंग विंडो मैनेजर है, जो मूल रूप से dwm पर आधारित है । अलग-अलग गुणवत्ता के बहुत सारे एक्सटेंशन हैं, लेकिन कोर कॉम्पैक्ट और अच्छी तरह से व्यवस्थित है।


36
कोर, fwiw, भी बहुत सावधानी से इंजीनियर है। कोक प्रमेय कहावत में कोर के मूल, स्टेक्ससेट को सत्यापित किया गया है (जो कि क्यूसी प्रॉपर्टीज होल्ड है)। यह पैथोलॉजिकल डिजाइन देखभाल का एक उदाहरण है।
डॉन स्टीवर्ट

6
@ डायन: "पैथोलॉजिकल" जैसा कि "अच्छा", नहीं? :)
फ्रांसेस्को

8
हाँ :-) स्पेंसर और मैंने किसी भी परियोजना की तुलना में xmonad कोर के क्राफ्टिंग में अधिक ध्यान रखा है। मैं इसमें शामिल हूं।
डॉन स्टीवर्ट

18
  1. Haskell: Functional Programming with Types

    जोएरी वैन एकेलन, एट अल। | विकीबूक 2007 में प्रकाशित, 290 पृष्ठ

  2. Learn You a Haskell for Great Good!

    मिरान लिपोवाका | LearnYouaHaskell.com 2010 में प्रकाशित, 176 पृष्ठ

  3. Real World Haskell

    बी। ओ। सुलिवन, जे। गोएर्ज़ेन, डी। स्टीवर्ट | ओ रेली मीडिया, इंक। 2008 में प्रकाशित, 710 पृष्ठ

  4. The Haskell Road to Logic, Maths and Programming

    कीस डोट्स, जान वैन इजाक | कॉलेज प्रकाशन 2004 में प्रकाशित, 449 पृष्ठ


6
ये किताबें हैं, वास्तविक परियोजना के स्रोत फाइलें नहीं हैं।
Ses

17

डार्क्स एक खुला स्रोत, स्रोत कोड प्रबंधन प्रणाली है। यह आपको हास्केल के लिए एक अच्छा विचार देना चाहिए।


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

8

यसोद वेब प्लेटफ़ॉर्म का स्रोत कोड काफी जटिल है, अच्छी तरह से सोचा गया है, और अच्छी तरह से लिखा गया है। आप दृढ़ता पुस्तकालय से बहुत कुछ सीखेंगे जो इसके साथ आता है।



5

जीएचसी संभवत: हास्केल में लिखी गई सबसे बड़ी या सबसे बड़ी परियोजनाओं में से एक है जो खुला स्रोत है। जब मैं सबसे बड़ा कहता हूं, तो मेरा मतलब केवल स्रोत के आकार से नहीं है, बल्कि प्रभाव, उपयोग, नवाचार, मजबूती भी है। HHCell लिखने के बारे में GHC आपको बहुत कुछ सिखा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.