को देखते हुए निम्नलिखित कोड:अतिभारित तार लिखते समय मैं बॉयलरप्लेट को कैसे हटा सकता हूं?
{-# LANGUAGE OverloadedStrings #-}
newtype Firstname = Firstname String deriving (Eq, Show)
instance IsString Firstname where fromString = Firstname
newtype Lastname = Lastname String deriving (Eq, Show)
instance IsString Lastname where fromString = Lastname
data Person = Person { firstname :: Firstname, lastname :: Lastname, age :: Int } deriving Show
मैं दृढ़ता से टाइप तार बनाने संबंधी बॉयलरप्लेट निकालना चाहते हैं। यह प्राप्त करने के लिए टेम्पलेट हास्केल (या कुछ अन्य साधन) का उपयोग करना संभव है?
जैसे की तरह कुछ:
{-# LANGUAGE OverloadedStrings, TemplateHaskell #-}
$(strongString ''Firstname)
$(strongString ''Lastname)
data Person = Person { firstname :: Firstname, lastname :: Lastname, age :: Int } deriving Show