मैं हास्केल में एक सांप गेम लिख रहा हूं। ये बातें में से कुछ हैं मेरे पास है:हास्केल में मॉड्यूल बनाने के लिए मुझे कितना छोटा बनाना चाहिए?
- एक
Coord
डेटा प्रकार - एक
Line
डेटा प्रकार - एक
Rect
डेटा प्रकार - एक
Polygon
प्रकार वर्ग है, जो मुझे एकRect
एक के रूप में प्राप्त करने के लिए अनुमति देता है लाइनों की श्रृंखला ([Line]
)। - एक
Impassable
टाइप क्लास जो मुझेLine
को कॉर्ड ([Coord]
) की श्रृंखला के रूप में प्राप्त करने की अनुमति देता है ताकि मैं अन्यImpassable
एस के बीच टकराव का पता लगा सकूं। - ए
Draw
किसी भी चीज़ के लिए टाइप क्लास जिसे मैं स्क्रीन पर आकर्षित करना चाहता हूं (HSCurses)। - अंततः मैं क्विक चेक का उपयोग कर रहा हूं इसलिए मैं इन चीजों में से कई के लिए
Arbitrary
उदाहरण घोषित करना चाहता हूं।
वर्तमान में मैं अलग मॉड्यूल में इन का एक बहुत तो मैं छोटे मॉड्यूल के पास बहुत है। मैंने देखा है कि मुझे एक दूसरे के लिए बहुत से आयात करना है, इसलिए मैं सोच रहा हूं कि बिंदु क्या था।
मैं विशेष रूप से Arbitrary
उदाहरणों के बारे में उलझन में हूं। -Wall
का उपयोग करते समय मुझे अनाथ उदाहरणों के बारे में चेतावनियां मिलती हैं जब मैं एक परीक्षण फ़ाइल में उन उदाहरणों को एक साथ जोड़ता हूं, मेरी समझ यह है कि मैं उन उदाहरणों को उसी मॉड्यूल में डालकर उस चेतावनी से बच सकता हूं जहां डेटा प्रकार परिभाषित किया गया है लेकिन फिर मुझे इसकी आवश्यकता होगी उन सभी मॉड्यूल के लिए import Test.QuickCheck
पर जो मूर्खतापूर्ण प्रतीत होता है क्योंकि परीक्षण निष्पादन योग्य होने पर क्विक चेक की आवश्यकता होनी चाहिए।
क्विक चेक के साथ विशिष्ट समस्या पर कोई सलाह की सराहना की जाएगी क्योंकि कार्यक्रमों को मॉड्यूल में कैसे/कहाँ विभाजित किया जाना चाहिए, इसकी सामान्य समस्या पर मार्गदर्शन होगा।
यहां डाउनलोड की संख्या और रिवर्स निर्भरताओं की संख्या के आधार पर रैंकिंग के लिए लिंक हैं: http://stackoverflow.com/questions/3663550/which-haskell-package-for-json/3663601#3663601 –