den folgenden Code Gegeben:Wie kann ich Textbausteine beim Schreiben von überladenen Strings entfernen?
{-# 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
ich stark typisierten Strings um die Erstellung den Textvorschlag löschen möchte. Ist es möglich, Template Haskell (oder ein anderes Mittel) zu verwenden, um dies zu erreichen?
zB so etwas wie:
{-# LANGUAGE OverloadedStrings, TemplateHaskell #-}
$(strongString ''Firstname)
$(strongString ''Lastname)
data Person = Person { firstname :: Firstname, lastname :: Lastname, age :: Int } deriving Show