निर्भर प्रकार सीखने के लिए, मैं इडिस में अपने पुराने हास्केल गेम को फिर से लिख रहा हूं। वर्तमान में गेम "इंजन" बिल्टिन अभिन्न प्रकारों का उपयोग करता है, जैसे Word8
। मैं कुछ संख्याओं को उन संख्याओं के संख्यात्मक गुणों को शामिल करना चाहता हूं (जैसे कि डबल नकारात्मक पहचान पहचान है)। हालांकि, आदिम अंकगणितीय परिचालन के व्यवहार के बारे में कुछ कहना संभव नहीं है। believe_me
या अन्य हैंडविंग (कम से कम सबसे बुनियादी गुणों के लिए) का उपयोग करने के लिए, या Nat
, Fin
और अन्य "उच्च-स्तरीय" संख्यात्मक प्रकारों का उपयोग करके मेरे कोड को फिर से लिखने के लिए बेहतर होगा?सबूत में प्राइमेटिव ऑपरेशंस
उत्तर
मैं आपको आवश्यक प्राइमेटिव गुणों के लिए postulate
का उपयोग करने का सुझाव देना चाहता हूं, केवल उन चीजों का उपयोग करने के लिए सावधान रहना जो वास्तव में संख्यात्मक प्रकार के प्रश्नों के लिए सच हैं, जो मूल रूप से केवल अतिप्रवाह के बारे में सावधान रहना है)।
postulate add_commutes : (x, y : Int) -> x + y = y + x
believe_me
सबसे अच्छा है जब तक आप सबूत के कुछ गणना व्यवहार जरूरत से बचा जाता है: तो आप जैसी चीजों कह सकते हैं। लेकिन, ईमानदार होने के लिए, हम अभी भी primitives के बारे में तर्क करते समय इस सामान को काम करने की कोशिश कर रहे हैं ...
मुझे विश्वास है कि इस समय के लिए Nat
का उपयोग करना आम तौर पर बेहतर होता है। इडिस देव, संकलन में तेजी से आदिम लोगों के साथ सबूत-अनुकूल प्रकारों को बदलने के लिए एक सामान्य तंत्र को कार्यान्वित करने की योजना बना रहे हैं, लेकिन अभी के लिए केवल Nat
के लिए होता है। यदि आप वास्तव में चाहते थे तो आप believe_me
कर सकते हैं, लेकिन आप उन कार्यों के साथ समाप्त हो जाएंगे जो सबूत में काम करना इतना आसान नहीं हैं। ध्यान दें कि यदि आप believe_me
के साथ खेलने का निर्णय लेते हैं, तो आपको really_believe_me
पर भी विचार करना चाहिए, जो स्पष्ट रूप से इसे प्रकार चेकर के लिए अधिक विश्वसनीय बनाता है।
- 1. सबूत पैरामीटर
- 2. आईओएस में इंटरलाक्ड ऑपरेशंस?
- 3. जावा: प्राइमेटिव क्लास
- 4. एबीसीएल संकलन और प्राइमेटिव
- 5. पायथन अधिभार प्राइमेटिव
- 6. @IdClass गैर प्राइमेटिव @Id
- 7. संरचनात्मक प्रकार और प्राइमेटिव
- 8. इंटरेक्टिव गणित सबूत सिस्टम
- 9. बेसिक एल्गोरिथ्म सबूत
- 10. amsthm पैकेज में सबूत वातावरण में "सबूत" के बाद नई लाइन
- 11. जावा में प्राइमेटिव डेटाटाइप थ्रेड-सुरक्षित हैं
- 12. संकलित समय में प्राइमेटिव चर प्रकार
- 13. जावा में प्राइमेटिव बनाम ऑब्जेक्ट टाइप
- 14. इसाबेल में विरोधाभास द्वारा बेवकूफ सबूत?
- 15. बिटवाई ऑपरेशंस?
- 16. बूलियन ऑपरेशंस
- 17. टीएफ ऑपरेशंस
- 18. .NET में जर्नल ऑपरेशंस बदलें?
- 19. Angularjs भविष्य के सबूत है?
- 20. 48-बिट बिटवाई ऑपरेशंस?
- 21. फास्ट जावास्क्रिप्ट सरणी ऑपरेशंस
- 22. नेटलोगो दो एजेंट ऑपरेशंस
- 23. सीपीयू फ्लोटिंग ऑपरेशंस लागत
- 24. रीस्टफुल कॉपी/मूव ऑपरेशंस?
- 25. numpy.memmap numpy ऑपरेशंस से
- 26. असिंक्रोनस एसक्यूएल ऑपरेशंस
- 27. बिट ऑपरेशंस एक पूर्णांक
- 28. एलडीएपी ऑपरेशंस त्रुटि
- 29. कंपोजेबल परमाणु-जैसे ऑपरेशंस
- 30. ऐरे एलिमेंट वार ऑपरेशंस