में नया प्रकार का व्यवहार मैंने पाया है कि मैं यह 1 :: Product Int
कर सकता हूं और परिणामस्वरूप Product {getProduct = 1}
प्राप्त कर सकता हूं।हास्केल
Product
Data.Monoid
में परिभाषित किया गया है। की तुलना में मैं परिभाषित करने की कोशिश की है मेरे अपने newtype
तो जैसे:
newtype Stuff a = Stuff {getStuff :: a} deriving (Show)
लेकिन अगर मैं 1 :: Stuff Int
करने की कोशिश मैं एक त्रुटि मिलती है:
<interactive>:20:1: error:
* No instance for (Num (Stuff Int)) arising from the literal `1'
* In the expression: 1 :: Stuff Int
In an equation for `it': it = 1 :: Stuff Int
मैं a
या कुछ और पर Num
बाधा डालने के लिए है? यह क्यों काम नहीं करता है?