क्या इडिस में postulate
निर्माण की प्रकृति और उपयोग के बारे में कोई अद्यतित जानकारी है? इस विषय पर ट्यूटोरियल/मैनुअल में कुछ भी नहीं है और मुझे विकी में कुछ भी नहीं दिख रहा है। TIA।इडिस में पोस्टलेट
उत्तर
मुझे लगता है कि हम बात की इस तरह के लिए एक संदर्भ के अधिक में विकी को विकसित करने के लिए जा रहे थे: https://github.com/idris-lang/Idris-dev/wiki/Manual
postulate
के लिए वाक्य रचना है:
postulate identifier : type
postulate n : Nat
में के रूप में
या
postulate whyNot : 5 = 6
यह उस प्रकार का एक अनिर्दिष्ट मूल्य प्रस्तुत करता है। यह उपयोगी हो सकता है जब आपको उस प्रकार के उदाहरण की आवश्यकता होती है जिसे आप अन्यथा नहीं जानते हैं कि कैसे पेश किया जाए।
class Semigroup a where
op : a -> a -> a
semigroupOpIsAssoc : (x, y, z : a) -> op (op x y) z = op x (op y z)
काफी आसान Nats और जैसी चीजों के लिए साबित करने के लिए है कि: आप कुछ है कि एक सबूत की आवश्यकता है, लागू करना चाहते हैं की तरह इस semigroup typeclass का सबूत है कि आपरेशन यह एक वैध semigroup पर विचार किया जाएगा के लिए साहचर्य है की आवश्यकता है कहो सूची, लेकिन मशीन int की तरह कुछ के लिए क्या है जहां ऑपरेशन भाषा के बाहर परिभाषित किया गया है? आपको यह दिखाने की ज़रूरत है कि semigroupOpIsAssoc द्वारा दिए गए प्रकार के हस्ताक्षर में निवास किया गया है, लेकिन भाषा में ऐसा करने का कोई तरीका नहीं है। तो आप कंपाइलर को कहने के तरीके के रूप में, इस तरह के किसी चीज़ के अस्तित्व को पोस्ट कर सकते हैं "बस इस पर मेरा विश्वास करें"। ऐसे ही अवधारणा की वजह से
instance Semigroupz Int where
op = (+)
semigroupOpIsAssoc x y z = intAdditionIsAssoc
where postulate intAdditionIsAssoc : (x + y) + z = x + (y + z)
कार्यक्रम अभी भी चलाने जा सकता है और इस्तेमाल किया है, जब तक किसी भी माने "मूल्यों" रनटाइम मान से पहुंच योग्य नहीं हैं (उनके मूल्य क्या होगा?)। यह समानता शर्तों के लिए ठीक है, जिनका उपयोग कहीं भी नहीं किया जाता है लेकिन टाइपशेकिंग और रनटाइम पर मिटा दिया जाता है। प्रकार का अपवाद वह नियम है जिसका मूल्य मिटाया जा सकता है, उदा। singley-बसे हुए Unit
प्रकार:
postulate foo : Unit
main : IO()
main = print foo
अभी भी संकलित करता है तथा रन (प्रिंट "()"); Unit
प्रकार का मान वास्तव में show
के कार्यान्वयन द्वारा आवश्यक नहीं है।
- 1. इडिस
- 2. इडिस
- 3. इडिस
- 4. इडिस
- 5. इडिस
- 6. एग्डा और इडिस के बीच मतभेद
- 7. इडिस को आपसी आवश्यकता क्यों है?
- 8. इडिस का हास्केल संस्करण! -नोटेशन (बैंग नोटेशन)
- 9. क्या इडिस वास्तव में "सख्ती से मूल्यांकन किया गया है?"
- 10. इडिस में निष्पादन योग्य के बजाय पुस्तकालय जेनरेट करें?
- 11. इडिस में, "वेक्ट जेनरेटर" फ़ंक्शन कैसे लिखना है जो पैरामीटर
- 12. हास्केल और इडिस के बीच अंतर: प्रकार सार्वभौमिक
- 13. क्या इडिस के पास एग्डा के `_` अभिव्यक्तियों के बराबर है?
- 14. इडिस में एक प्रकार के रूप में एक संख्या सीमा निर्दिष्ट करने के लिए कैसे?
- 15. यदि इडिस सोचता है कि चीजें कुल हो सकती हैं, तो क्या इडिस का सबूत के लिए उपयोग किया जा सकता है?
- 16. यह इडिस स्निपेट एक स्पष्ट प्रकार के बिना टाइप चेक क्यों नहीं करता है?
- 17. मेरे पास इडिस स्वचालित रूप से कैसे साबित कर सकता है कि दो मान बराबर नहीं हैं?
- 18. दृढ़ता से टाइप की गई कार्यात्मक प्रोग्रामिंग भाषाओं में मॉडल जांच की प्रासंगिकता?
- 19. इडिस में, क्या मैं मुक्त प्रमेय साबित कर सकता हूं, उदा। टाइप 'फॉरल टी' का एकमात्र (कुल) फ़ंक्शन। टी -> टी` `आईडी` है?
- 20. सबूत में प्राइमेटिव ऑपरेशंस
- 21. इडिस: क्या "साथ" के बजाय "केस" का उपयोग करने के लिए "साथ" का उपयोग करके सभी कार्यों को फिर से लिखना संभव है? यदि नहीं, तो क्या आप एक काउंटर उदाहरण दे सकते हैं?
- 22. कैबल ओएसएक्स शेर
- 23. बुध जैसे तर्क प्रोग्रामिंग भाषाओं में किस तरह के फायदे लाते हैं?
- 24. PreparedStatement.getParameterMetaData() जब टिप्पणी और पैरामीटर एसक्यूएल-स्ट्रिंग
- 25. इदरिस उत्सुक मूल्यांकन
- 26. इनपुट प्रकार और आउटपुट प्रकार को बाधित कैसे करें?
- 27. प्रश्न में में datatable
- 28. आईओएस में एसएसआईडीडीएटीए में
- 29. अभिव्यक्ति में सबडोमेन में
- 30. कैसे में Emacs में
एडविन ने कहा कि एक नियत मूल्य को रनटाइम पर संदर्भित किया जा सकता है जब "एक मूल्य केवल अपने सूचकांक से उत्पन्न किया जा सकता है, या इसके प्रकार अकेले; इसलिए अधिकांश एक कैनोलिक तत्व" – pdxleif