{-# OPTIONS_GHC -fth #-} -- | This module demonstrates how to handle heterogeneous structs -- using Template Haskell. -- See person_server.hs and person_client.hs for examples. module PersonTH where import Network.XmlRpc.Internals import Network.XmlRpc.THDeriveXmlRpcType -- | Record type used to represent the struct in Haskell. data Person = Person { name :: String, age :: Int, spouse :: Maybe String } deriving Show $(asXmlRpcStruct ''Person)