module SLynx.SLynx
( slynx,
rSLynx,
)
where
import ELynx.Tools.ELynx
import ELynx.Tools.Options
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 :: Arguments CommandArguments -> IO ()
slynx Arguments CommandArguments
c = case forall a. Arguments a -> a
local Arguments CommandArguments
c of
Concatenate ConcatenateArguments
l -> forall a b.
(Eq a, Show a, Reproducible a, Reproducible b, ToJSON a) =>
GlobalArguments -> b -> (b -> a) -> ELynx b () -> IO ()
eLynxWrapper GlobalArguments
g ConcatenateArguments
l ConcatenateArguments -> CommandArguments
Concatenate ELynx ConcatenateArguments ()
concatenateCmd
Examine ExamineArguments
l -> forall a b.
(Eq a, Show a, Reproducible a, Reproducible b, ToJSON a) =>
GlobalArguments -> b -> (b -> a) -> ELynx b () -> IO ()
eLynxWrapper GlobalArguments
g ExamineArguments
l ExamineArguments -> CommandArguments
Examine ELynx ExamineArguments ()
examineCmd
FilterCols FilterColsArguments
l -> forall a b.
(Eq a, Show a, Reproducible a, Reproducible b, ToJSON a) =>
GlobalArguments -> b -> (b -> a) -> ELynx b () -> IO ()
eLynxWrapper GlobalArguments
g FilterColsArguments
l FilterColsArguments -> CommandArguments
FilterCols ELynx FilterColsArguments ()
filterColsCmd
FilterRows FilterRowsArguments
l -> forall a b.
(Eq a, Show a, Reproducible a, Reproducible b, ToJSON a) =>
GlobalArguments -> b -> (b -> a) -> ELynx b () -> IO ()
eLynxWrapper GlobalArguments
g FilterRowsArguments
l FilterRowsArguments -> CommandArguments
FilterRows ELynx FilterRowsArguments ()
filterRowsCmd
Simulate SimulateArguments
l -> forall a b.
(Eq a, Show a, Reproducible a, Reproducible b, ToJSON a) =>
GlobalArguments -> b -> (b -> a) -> ELynx b () -> IO ()
eLynxWrapper GlobalArguments
g SimulateArguments
l SimulateArguments -> CommandArguments
Simulate ELynx SimulateArguments ()
simulateCmd
SubSample SubSampleArguments
l -> forall a b.
(Eq a, Show a, Reproducible a, Reproducible b, ToJSON a) =>
GlobalArguments -> b -> (b -> a) -> ELynx b () -> IO ()
eLynxWrapper GlobalArguments
g SubSampleArguments
l SubSampleArguments -> CommandArguments
SubSample ELynx SubSampleArguments ()
subSampleCmd
Translate TranslateArguments
l -> forall a b.
(Eq a, Show a, Reproducible a, Reproducible b, ToJSON a) =>
GlobalArguments -> b -> (b -> a) -> ELynx b () -> IO ()
eLynxWrapper GlobalArguments
g TranslateArguments
l TranslateArguments -> CommandArguments
Translate ELynx TranslateArguments ()
translateCmd
where
g :: GlobalArguments
g = forall a. Arguments a -> GlobalArguments
global Arguments CommandArguments
c
rSLynx :: IO ()
rSLynx :: IO ()
rSLynx = forall a. Reproducible a => IO (Arguments a)
parseArguments forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Arguments CommandArguments -> IO ()
slynx