मैं भूगर्भीय गणना के लिए एक पुस्तकालय लिख रहा हूं। एक चीज जिसे मैं शामिल करना चाहता हूं वह ग्रिड अनुमानों (जैसे ऑर्डनेंस सर्वे नेशनल ग्रिड) के लिए एक प्रकार है और उन ग्रिड पर अंक ("पूर्वोत्तर" और "उत्तर" द्वारा निर्दिष्ट)। एक ग्रिड को मूल बिंदु से निर्दिष्ट किया जाता है जो इसे पृथ्वी और ज्यामितीय मानकों का एक गुच्छा से जोड़ता है। एप्लिकेशन प्रोग्रामर इन मानकों का उपयोग करके कई मनमानी ग्रिड बना सकता है। विभिन्न अंतर्निहित अनुमानों के आधार पर कई प्रकार के ग्रिड भी होने जा रहे हैं।मैं असंगत मानों को अलग करने के लिए प्रकारों का उपयोग कैसे करूं
स्पष्ट रूप से मैं ग्रिड पॉइंट्स (जैसे दूरी, असर इत्यादि), पर गणना करने में सक्षम होना चाहता हूं, लेकिन साथ ही मैं एक प्रोग्राम प्रोग्रामर को दो के बीच की दूरी से पूछने से रोकने के लिए हास्केल प्रकार प्रणाली का उपयोग करना चाहता हूं विभिन्न ग्रिड पर अंक। मुझे आश्चर्य हुआ कि क्या एसटी मोनैड की लाइनों के साथ एक प्रकार पैरामीटर का उपयोग कर एक रीडर मोनाड काम करेगा, लेकिन मैं चाहता हूं कि एप्लिकेशन प्रोग्रामर मोनैड के बाहर इन स्थिति मूल्यों को स्टोर करने में सक्षम हो, जबकि एसटी एसटीआरएफ के रिसाव को रोकने के बारे में है रनस्ट।
मुझे अंतर्निहित एलिप्सिड पर भूगर्भीय स्थितियों (अक्षांश & रेखांश) के साथ भी एक ही समस्या मिली है। लेकिन ग्रिड संस्करण शायद समझाने में आसान है, यह देखते हुए कि इस प्रश्न का ध्यान भूगर्भ विज्ञान की बजाय टाइप सिस्टम है।
मैंने जीएडीटी और अस्तित्व के प्रकारों पर पढ़ा है, लेकिन मैं यह नहीं देख सकता कि यह कैसे करें।
टाइप गणित के साथ ऐसा करने का एक तरीका हो सकता है: http://www.haskell.org/haskellwiki/Type_arithmetic – Wes
"लेकिन साथ ही मैं एक प्रोग्राम प्रोग्रामर को पूछने से रोकने के लिए हास्केल प्रकार प्रणाली का उपयोग करना चाहता हूं विभिन्न ग्रिड पर दो बिंदुओं के बीच की दूरी "- वह क्यों है? अंक अलग-अलग ग्रिड पर परिभाषित किए जा सकते हैं और फिर भी उसी _physical_ स्थान का प्रतिनिधित्व करते हैं, आप ऐसे बिंदुओं के बीच की दूरी की गणना क्यों नहीं करना चाहेंगे? – leftaroundabout
@ बाएंराउंडबाउट: हाँ, लेकिन इसके लिए एक समन्वय परिवर्तन और अधिक जटिल गणना की आवश्यकता है। इसके अलावा कुछ मामलों में सरल प्लानर गणना सही बात है (उदाहरण के लिए जब रडार से निपटना)। –