module Sound.Sox.Private.Arguments where

import Data.Monoid (Monoid(mempty, mappend), )
import Data.Semigroup (Semigroup((<>)), )

newtype T = Cons {T -> [String]
decons :: [String]}

instance Semigroup T where
   Cons [String]
x <> :: T -> T -> T
<> Cons [String]
y = [String] -> T
Cons ([String]
xforall a. [a] -> [a] -> [a]
++[String]
y)

instance Monoid T where
   mempty :: T
mempty = [String] -> T
Cons forall a. Monoid a => a
mempty
   mappend :: T -> T -> T
mappend = forall a. Semigroup a => a -> a -> a
(<>)

single :: String -> T
single :: String -> T
single String
x = [String] -> T
Cons [String
x]

fileName :: FilePath -> T
fileName :: String -> T
fileName = String -> T
single

pipe :: T
pipe :: T
pipe = String -> T
single String
"-"