blob: 20cae00a4eb6d846c71dd893b8da7090febb0916 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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]))
|