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 "-"