moduleSound.Sox.Private.OptionwhereimportqualifiedSound.Sox.Private.ArgumentsasArgsimportqualifiedData.MapasMapimportData.Monoid(Monoid(..),){- |
You can combine options using the 'Monoid' functions 'mappend' and 'mconcat'.
When the same option is given multiple times,
only the first occurence is respected.
-}newtypeT=Cons{decons::Map.MapString[String]}instanceMonoidTwheremempty=Consmemptymappend(Consx)(Consy)=Cons(Map.unionxy)toArguments::T->Args.TtoArguments=Args.Cons.concatMap(\(name,values)->name:values).Map.toList.deconssingle::String->[String]->Tsinglenamevalues=Cons(Map.singletonnamevalues)