कैसे मैं एक forall
बाधा उदाहरण के लिए कुछ प्रकार परिवारों F
और G
के लिए लिख सकता हूँ? और यदि ऐसा हो तो एक छोटा सा उदाहरण प्रदान किया जा सकता है? मुझे लगता है कि मुझे Forall
का उपयोग करने की आवश्यकता है।बाधाओं forall
उत्तर
हां, यह constraints
का उपयोग कर संभव है। सावधान रहें, हालांकि! आपके द्वारा दावा की जाने वाली समानता constraints
के लिए पर्याप्त सामान्यता के साथ पकड़ने की संभावना नहीं है यदि प्रकार परिवार गैर-तुच्छ हैं। विशेष रूप से विचार करें,, चाहे प्रकार परिवारों को सफलतापूर्वक को कम जब x
और y
अटक प्रकार परिवारों
type family X where {}
type family Y where {}
भी कर रहे हैं, मुझे लगता है कि अपने विशेष वांछित बाधा नहीं मुक्त चर जो भी है। उम्मीद है कि यह सिर्फ एक उदाहरण है; इस तरह की एक वास्तविक बंद बाधा उपयोगी होने की संभावना नहीं है।
Data.Constraint.Forall
में मौलिक प्रकार परिवार Forall
है। ForallT
का उपयोग करके यह विशेष उदाहरण थोड़ा और आसानी से संभाला जा सकता है, लेकिन यह समझना सबसे महत्वपूर्ण है कि Forall
का उपयोग कैसे करें।
आम तौर पर, Forall p
का अर्थ forall x . p x
है। यह बहुत सामान्य नहीं लगता है, लेकिन वास्तव में, यदि आप अपना p
चरण-दर-चरण तैयार करते हैं। आप
forall x y. G (F x y) ~ (x, y)
आपके द्वारा प्राप्त रिश्ते को व्यक्त करने वाली कक्षा को परिभाषित करके प्रारंभ करें।
class G (F x y) ~ (x, y) => C x y
instance G (F x y) ~ (x, y) => C x y
अब आप चरण दर चरण जा सकते हैं, को परिभाषित करने
class Forall (C x) => D x
instance Forall (C x) => D x
और फिर Forall D
का उपयोग कर (D x = forall y . C x y
के रूप में आप पढ़ सकते हैं), (यानी, forall x . D x
) अपने बाधा व्यक्त करते हैं। Dict (D x)
प्राप्त करने के लिए आपको inst
का उपयोग करने की आवश्यकता होगी और फिर Dict (C x y)
प्राप्त करने के लिए।
- 1. समांतर। फोरेच बनाम AsParallel()। ForAll
- 2. का उपयोग कर forall नष्ट
- 3. बाधाओं
- 4. हैमलेट टेम्पलेट में $ forall के साथ समस्या
- 5. बाधा प्रकार: कई बाधाओं
- 6. पायथन: बाधाओं
- 7. विभिन्न बाधाओं
- 8. autolayout बाधाओं
- 9. बाधाओं का प्रकार और 'सीमित' बाधाओं वाले परिवारों का प्रकार
- 10. Grails डोमेन बाधाओं परिभाषा
- 11. बाधाओं पर समानता
- 12. टाइप बाधाओं पर प्रतिबिंब
- 13. बाधाओं के साथ अनुकूलन
- 14. इकाई फ्रेमवर्क: एसक्यूएल बाधाओं
- 15. अज्ञात बाधाओं को छोड़ना
- 16. न्यूनतम बाधाओं के साथ ग्रिडस्प्लिटर
- 17. ऑटोलाउट बाधाओं को संशोधित करें
- 18. scipy.optimize.leastsq बाध्य बाधाओं के साथ
- 19. लेआउट बाधाओं को प्राथमिकता जोड़ना
- 20. बजना 3.3 और constexpr बाधाओं
- 21. पूर्वावलोकन एसक्यूएल रिकॉर्ड CASCADE बाधाओं
- 22. PostgreSQL - बाधाओं को अक्षम करना
- 23. Autolayout UIScrollView बाधाओं अजीब व्यवहार
- 24. ट्रेसिंग बाधाओं के लिए तकनीक
- 25. जावास्क्रिप्ट में बाधाओं को ढूंढना?
- 26. Nnnit 2.5 में बाधाओं को बाधाओं के रूप में उपयोग करना?
- 27. बाधाओं में अस्पष्ट प्रकार परिवर्तनीय 'a0'
- 28. बाधाओं के साथ द्रव गतिशील सिमुलेशन
- 29. मोंगोस डीबी कनेक्शन बाधाओं को कैसे संभालें
- 30. एवीप्लेयर: नेटवर्क बाधाओं को कैसे संभालें
क्या आप इसे एक बड़े प्रकार की बाधा बनने के लिए देख रहे हैं या क्या आप वास्तव में मूल्य समानता चाहते हैं? यह आप जो करने की कोशिश कर रहे हैं उसके बारे में अधिक जानकारी प्रदान करने में मदद कर सकता है। –
यदि आप समानता का प्रतिनिधित्व करने के लिए मूल्य की तलाश में हैं, तो 'समानता वैल :: जी (एफ एक्स वाई): ~: (x, y); समानता वैल = ... रेफ्ल ... ''' type.Equality' से '' ~ ~ '' '' ''। यदि, दूसरी तरफ, यह एक बड़े प्रकार पर बाधा है, क्या आपके पास सिर्फ 'जी (एफ एक्स वाई) ~ (x, y) => ... '? मेरा मानना है कि बाधाओं से 'फोरल' पैकेज सार्वभौमिक रूप से बाधाओं (जैसे कि '(फोरल पी, पीए) => ए') से है, जहां 'पी' तब' न्यू 'जैसी बाधा हो सकती है, जो ऐसा प्रतीत नहीं होता है जो भी आप खोज रहे हैं (यदि मैं सही ढंग से समझ रहा हूं)। –