मैं कुछ स्थानों में इस देखा है में मतलब है:क्या करता है: -> एक haskell प्रकार विनिर्देश
data T = T a :-> b
विशेष रूप से quickcheck में
हम
data Fun a b = Fun (a :-> b, b) (a -> b)
:->
और कैसे करता है क्या है यह ->
से भिन्न है?
मैं कुछ स्थानों में इस देखा है में मतलब है:क्या करता है: -> एक haskell प्रकार विनिर्देश
data T = T a :-> b
विशेष रूप से quickcheck में
हम
data Fun a b = Fun (a :-> b, b) (a -> b)
:->
और कैसे करता है क्या है यह ->
से भिन्न है?
एक कोलन से शुरू होने वाले ऑपरेटर एक निर्माता या प्रकार का नाम है। इस मामले में यह त्वरित प्रकार के डेटा प्रकार के लिए एक प्रकार का नाम है, लेकिन आम तौर पर प्रतीक: -> किसी भी कन्स्ट्रक्टर या टाइप नाम के लिए इस्तेमाल किया जा सकता है जैसा कि आप पसंद करते हैं (यह उचित भाषा का हिस्सा नहीं है)।
The definition of :-> in quickcheck:
-- the type of possibly partial concrete functions
data a :-> c where
Pair :: (a :-> (b :-> c)) -> ((a,b) :-> c)
(:+:) :: (a :-> c) -> (b :-> c) -> (Either a b :-> c)
Unit :: c -> (() :-> c)
Nil :: a :-> c
Table :: Eq a => [(a,c)] -> (a :-> c)
Map :: (a -> b) -> (b -> a) -> (b :-> c) -> (a :-> c)
मेरे अपने प्रश्न का उत्तर दिया: पहला
data Edge = i :-> i
:->
निर्माता निश्चित रूप से है के रूप में देखा।
क्या आप अतिरिक्त को एवर के रूप में पोस्ट कर सकते हैं? अपने खुद के सवालों का जवाब देना बहुत मुश्किल है। – fuz