2010-01-07 13 views
25

सीखने के लिए अच्छी परियोजनाएं मूल वाक्यविन्यास सीखने के बाद, कुछ गैर-तुच्छ कोड पढ़ना एक भाषा सीखने का एक तेज़ तरीका है। हम दूसरों के कोड पढ़ने के दौरान लाइब्रेरी/सॉफ्टवेयर को डिज़ाइन करने का तरीका भी सीख सकते हैं।ओकैमल और एफ #

मेरे पास निम्नलिखित सूचियां हैं।

  1. Tomek Czajka द्वारा OCaml में एक Chess कार्यक्रम।

  2. हैल दौमे ने ओकम्ल में several machine learning libraries लिखा है। निर्णय पेड़, लॉजिस्टिक रिग्रेशन और एसवीएम सहित। वे सभी पास-उत्पादन-गुणवत्ता कोड हैं।

  3. माइक्रोसॉफ्ट रिसर्च में एफ # में Chess Game Analysis प्रोग्राम।

उपरोक्त तीन मेरे पसंदीदा हैं। क्या आप कुछ अन्य स्रोतों का सुझाव देंगे? सामान्य उद्देश्य ओपन सोर्स सॉफ्टवेयर अच्छा है, विशेष ओपन सोर्स जैसे तीन आई सूची यहां और भी अधिक स्वागत है

+0

http://stackoverflow.com/questions/383848/f-open-source-projects –

+0

@Mauricio टिप्पणी के लिए धन्यवाद। मुझे लगता है कि दो धागे में कुछ अंतर है, क्योंकि यहां भाषाएं ओकम्ल और एफ # हैं, एकल एफ # नहीं। और सूची न केवल ओपन सोर्स के लिए है, बल्कि कुछ कोड sinppets या अकादमिक कोड के लिए भी है। –

+0

हैल दौमे का सॉफ़्टवेयर [http://www.umiacs.umd.edu/~hal/software.html] (http://www.umiacs.umd.edu/~hal/software.html) पर स्थानांतरित कर दिया गया है। –

उत्तर

16

Jean-Christophe Filliâtre's page में ओकैमल में कई कार्यक्रम और पुस्तकालय हैं।

+0

यह एक महान स्रोत है! –

2

खैर, Unison मेरे लिए सिफारिश की गई है Project Euler से पर एक नज़र है, साथ ही सुलझाने विभिन्न समस्याओं के लिए है, लेकिन व्यक्तिगत रूप से मैं और अधिक मेरे अपने व्यावहारिक कार्यक्रमों लिख कर कर पाने, तो मैं शायद एक अनुकूल हो जाएगा उन लोगों में से ओकैमल में, यह देखने के लिए कि यह कैसे जाता है।

1

आपके पास ओकॉमल मानक पुस्तकालय का स्रोत है जो ओ'कॉमल में है।

मुझे लगता है कि आप पहले से ही इसे देखा है, लेकिन CAML कूबड़ भी अच्छा स्रोत है: Here

+1

ओकैमल मानक पुस्तकालय विशेष रूप से अच्छी तरह से लिखा ओकैमल कोड नहीं है। –

5

जेन्स स्ट्रीट कई पुस्तकालयों here जारी किया है। वे वास्तव में एक उद्योग सेटिंग में ओकैमल का उपयोग कर रहे हैं। अगर कुछ भी है, तो मैं इन्हें देखता हूं।

3

बुकवार्म समस्या पर ब्लॉग प्रविष्टियों की इन श्रृंखलाओं की जांच करें, वे हल्के दिल वाले हैं और एफ # के मल्टीपाडाडिग्म-नेस को बहुत अच्छी तरह दिखाते हैं। आखिरी वाला सबसे अधिक "कार्यात्मक" जैसा दिखता है।

+0

क्रिस स्मिथ और ब्रायन मैकनामरा मेरे शॉर्ट्स खा सकते हैं ... –

11

OCaml की कम अच्छी तरह से कवर किया पहलू यह है उच्च क्रम मॉड्यूल प्रणाली है। ocamlgraph लाइब्रेरी इस भाषा सुविधा से लाभान्वित करने का एक उत्कृष्ट उदाहरण है।

आप अपने HLVM प्रोजेक्ट में ओकैमल स्रोत कोड भी पढ़ना पसंद कर सकते हैं। वैज्ञानिकों (2005) के लिए मेरी पुस्तक ओकैमल से स्रोत कोड स्वतंत्र रूप से here उपलब्ध है लेकिन स्रोत नहीं खोलता है। हालांकि, इसे कई सालों से अपडेट नहीं किया गया है और आप शायद आज बेहतर कर सकते हैं!

MLDonkey एक प्रारंभिक फ़ाइल साझा करने वाला क्लाइंट था जिसमें एक बार सैकड़ों हजार उपयोगकर्ता थे। यह ओकैमल में पूरी तरह से लिखा गया एक भारी समवर्ती ओपन सोर्स एप्लीकेशन है, जो कोड की लगभग 171,000 लाइनों में वजन करता है।

Unison फ़ाइल सिन्क्रोनाइज़र एक और खुला स्रोत उपयोगिता OCaml में पूरी तरह से लिखित आवेदन, कोड की 24,000 लाइनों पर में वजन है। एसिंक्रोनस आईओ का उपयोग करने के लिए एमएल व्युत्पन्न में लिखा गया यह पहला लोकप्रिय एप्लिकेशन भी था। तो आज सभी एफ # कोड एसिंक कर रहे हैं अनिवार्य रूप से इससे लिया गया है।

FFTW के अनुकूलन संकलक का एक बहुत ही विशेष रूप है, जो व्यापक रूप से अपनाया गया है और लाइसेंस प्राप्त व्यावसायिक उपयोग के लिए तेजी से फूरियर रूपांतरण (FFTs) के लिए एक कोड जनरेटर, अनिवार्य रूप से, उदाहरण के लिए है MATLAB के मूल में। ओकैम में ज्यादातर सी के साथ लिखित और ओकैमल कोड की 14,000 लाइनों में वजन।

आप Hevea और ANT पर स्रोत कोड भी पढ़ना चाहेंगे क्योंकि ये ओकैमल के लिए काफी शास्त्रीय अनुप्रयोग डोमेन हैं, लेकिन हजारों उपयोगकर्ताओं के साथ उत्पादन गुणवत्ता अनुप्रयोग भी हैं।

मैं सिफारिश करने के लिए किसी भी ओपन सोर्स एफ # कोड के बारे में नहीं सोच सकता। वहाँ बहुत मूल्यवान है और यह आमतौर पर बहुत खराब गुणवत्ता है। इसमें से अधिकांश हास्केल की तरह पढ़ता है। ;-)

0

वेब आधारित ओकैम कोड Opa के लिए सभी code भी खुले हैं।

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