मैं वर्तमान में टेस्ट संचालित विकास पद्धति का उपयोग कर एक हास्केल प्रोजेक्ट करने की कोशिश कर रहा हूं। जावा में, हम एक अच्छी तरह से संरचित प्रोजेक्ट बना सकते हैं जिसमें src और bin फ़ोल्डर्स होते हैं, फिर ज्यूनिट के साथ यूनिट परीक्षण के लिए मुख्य और परीक्षण फ़ोल्डर्स होते हैं। मैं बस सोच रहा था कि हास्केल में ऐसी संरचना पाने का एक मानक तरीका है? स्रोत के लिए एक फ़ोल्डर बाइनरी के लिए एक फ़ोल्डर, और स्रोत फ़ोल्डर में दो फ़ोल्डरों को मुख्य स्रोत के लिए एक परीक्षण के लिए एक फ़ोल्डर।हास्केल प्रोजेक्ट को कैसे व्यवस्थित करें?
उत्तर
इस आधुनिक जवाब हैका उपयोग करने के लिए। यह आपके लिए सैने डिफ़ॉल्ट का उपयोग कर प्रोजेक्ट की संरचना करेगा।
मेरा संदर्भ हमेशा Structure of a Haskell project और How to write a Haskell program है जो कुछ डिफ़ॉल्ट रूप से बताता है जो समुदाय को कम या ज्यादा लगता है। इसने अब तक मेरे लिए अच्छा काम किया है, लेकिन मेरी परियोजनाएं अभी तक बहुत बड़ी नहीं हैं।
Structure of a Haskell project में सुझाए गए सुझावों के मुताबिक आपके पोस्ट में उल्लिखित कुछ मामूली संशोधनों के साथ लगता है जैसे परीक्षण फ़ोल्डर src फ़ोल्डर के समान निर्देशिका में है।
संपादित करें: आप कम से कम आयात के साथ एक किसी भी फाइल अगर
cabal init
आप प्रासंगिक निर्भरता के साथ कबाल फ़ाइल सहित के लिए एक न्यूनतम राशि उत्पन्न होगा। यह एक महान शुरुआत है लेकिन आप जो खोज रहे हैं उसका केवल एक हिस्सा है।
आदर्श रूप से एक परियोजना के रूप में कैबेल फ़ाइल बढ़ जाती है और निर्देशिका पदानुक्रम स्वचालित रूप से अद्यतित हो जाएगा, मुझे सार्वजनिक रूप से बनाए गए किसी भी उपकरण से अनजान है जो ऐसा करेगा। यह मेरी शायद एक दिन की सूची पर है क्योंकि मुझे यकीन है कि यह कई अन्य लोगों के लिए है।
-odir
और -hidir
को अलग-अलग निर्देशिकाओं में * .o और * .hi फ़ाइलों को रखने के लिए ghc के साथ उपयोग किया जा सकता है। आप GHC user guide's section on separate compilation में और अधिक)
EDIT2 पढ़ सकते हैं:
अन्य प्रासंगिक/ओवरलैपिंग पोस्ट:
उत्तर देने के लिए धन्यवाद। जावा में, मैं सभी आवश्यक फ़ोल्डरों को उत्पन्न करने के लिए मेवेन का उपयोग कर सकता हूं और रेलों पर रूबी में "रेल नई परियोजना नाम" समान काम करेगा, मैं बस सोच रहा हूं क्योंकि यह एक आम काम है, शायद हास्केल में कुछ कमांड है यह करता है – HHC
एक .hs फ़ाइल को संकलित करने के लिए ghc का उपयोग करते समय, संकलन करने का सबसे अच्छा तरीका क्या है और सभी .hs एक फ़ोल्डर में सभी इंटरमीडिएट फ़ाइलों (.o .hi आदि) में किसी अन्य फ़ोल्डर में और निष्पादन फ़ाइल अभी तक एक और फ़ोल्डर? – HHC
एक उत्तर के लिए संपादित टिप्पणी क्योंकि यह लम्बी थी और फ़ॉर्मेटिंग से लाभान्वित था। – Davorak