From 4beea4536a36322e15665de74c96926f0cf5fe7b Mon Sep 17 00:00:00 2001 From: defanor Date: Fri, 25 Nov 2016 06:35:55 +0300 Subject: Initial commit --- Example.hs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Example.hs (limited to 'Example.hs') 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])) -- cgit v1.2.3