diff options
Diffstat (limited to 'Example.hs')
-rw-r--r-- | Example.hs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Example.hs b/Example.hs new file mode 100644 index 0000000..20cae00 --- /dev/null +++ b/Example.hs @@ -0,0 +1,27 @@ +{-# LANGUAGE TemplateHaskell #-} + +module Main where + +import Coalpit +import Language.Haskell.TH +import Data.List + +data Y = Foo Bool Int + | Bar Int + | Baz + deriving (Show) + +data X = X String (Maybe Int) (Maybe [Int]) Y Y String + deriving (Show) + +$(deriveArgs ''Y) +$(deriveArgs ''X) + +main :: IO () +main = do + let val = X "test" Nothing (Just [1,2,3]) (Foo True 1) Baz "end" + args = toArgs val + print val + putStrLn $ intercalate " " args + print (fromArgs args :: (X, [String])) + print (fromArgs (args ++ ["additional", "args"]) :: (X, [String])) |