improve and change user data auto-deriver

This commit is contained in:
Hideyuki Tanaka
2011-11-17 17:15:05 +09:00
parent cad9f6d46e
commit 79b51a6e4b
3 changed files with 79 additions and 90 deletions

View File

@@ -1,27 +1,26 @@
{-# Language TemplateHaskell #-}
import Data.MessagePack
import Data.MessagePack.Derive
data T
= A Int String
| B Double
deriving (Show, Eq)
$(deriveObject ''T)
deriveObject ''T
data U
= C { c1 :: Int, c2 :: String }
| D { d1 :: Double }
deriving (Show, Eq)
$(deriveObject ''U)
deriveObject ''U
data V
= E String | F
deriving (Show, Eq)
$(deriveObject ''V)
deriveObject ''V
test :: (OBJECT a, Show a, Eq a) => a -> IO ()
test v = do
@@ -33,6 +32,7 @@ test v = do
print oa
print (fromObject oa == v)
main :: IO ()
main = do
test $ A 123 "hoge"
test $ B 3.14
@@ -40,4 +40,4 @@ main = do
test $ D 3.14
test $ E "hello"
test $ F
return ()
return ()