8
दुभाषिया में 5 :: Sum Integer
काम लेकिन क्यों दिया है एक5 :: योग इंटीजर शाब्दिक के रूप में क्यों काम करता है?
newtype NovoTipo a = NovoTipo a
6 :: NovoTipo Integer
काम नहीं करता है?
दुभाषिया में 5 :: Sum Integer
काम लेकिन क्यों दिया है एक5 :: योग इंटीजर शाब्दिक के रूप में क्यों काम करता है?
newtype NovoTipo a = NovoTipo a
6 :: NovoTipo Integer
काम नहीं करता है?
आप किसी भी प्रकार के लिए संख्यात्मक अक्षर लिख सकते हैं जिसमें Num
उदाहरण है। Sum
has it, जबकि आपका नया प्रकार नहीं है।
आप GHCi निम्नलिखित तरीके से GeneralizedNewtypeDeriving
सक्षम कर सकते हैं:
:set -XGeneralizedNewtypeDeriving
तो फिर तुम लिख सकते हैं:
newtype NovoTipo a = NovoTipo a deriving (Num)
और फिर 6 :: NovoTipo Integer
अच्छी तरह से आपके द्वारा लिखा गया है।
शायद उस विस्तार के बारे में उल्लेख करने के लायक है, उदाहरण अभी भी मैनुअल (अन) रैपिंग के साथ प्रदान किया जा सकता है। –