module SLynx.SLynx
( slynx,
rSLynx,
)
where
import ELynx.Tools
import SLynx.Concatenate.Concatenate
import SLynx.Examine.Examine
import SLynx.Filter.Filter
import SLynx.Options
import SLynx.Simulate.Simulate
import SLynx.SubSample.SubSample
import SLynx.Translate.Translate
slynx :: Arguments CommandArguments -> IO ()
slynx c = case local c of
Concatenate _ ->
eLynxWrapper
c
(\(Arguments g (Concatenate l)) -> Arguments g l)
concatenateCmd
Examine _ ->
eLynxWrapper c (\(Arguments g (Examine l)) -> Arguments g l) examineCmd
FilterCols _ ->
eLynxWrapper
c
(\(Arguments g (FilterCols l)) -> Arguments g l)
filterColsCmd
FilterRows _ ->
eLynxWrapper
c
(\(Arguments g (FilterRows l)) -> Arguments g l)
filterRowsCmd
Simulate _ ->
eLynxWrapper c (\(Arguments g (Simulate l)) -> Arguments g l) simulateCmd
SubSample _ ->
eLynxWrapper
c
(\(Arguments g (SubSample l)) -> Arguments g l)
subSampleCmd
Translate _ ->
eLynxWrapper
c
(\(Arguments g (Translate l)) -> Arguments g l)
translateCmd
rSLynx :: IO ()
rSLynx = parseArguments >>= slynx