{-# OPTIONS_HADDOCK show-extensions #-}
module CLI.Arguments.Arr where
import GHC.Arr
import Data.List (sortBy)
import CLI.Arguments
takeABCsArr
:: (CLSpecifications -> [String] -> Args)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeABCsArr :: (CLSpecifications -> [String] -> Args)
-> CLSpecifications -> [String] -> Array Int Arguments
takeABCsArr CLSpecifications -> [String] -> Args
f CLSpecifications
ts [String]
xss = (Int, Int) -> Args -> Array Int Arguments
forall i e. Ix i => (i, i) -> [e] -> Array i e
listArray (Int
0,Int
lInt -> Int -> Int
forall a. Num a => a -> a -> a
-Int
1) Args
js
where js :: Args
js = CLSpecifications -> [String] -> Args
f CLSpecifications
ts [String]
xss
l :: Int
l = Args -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length Args
js
{-# INLINABLE takeABCsArr #-}
takeCsArr
:: CLSpecifications
-> [String]
-> Array Int Arguments
takeCsArr :: CLSpecifications -> [String] -> Array Int Arguments
takeCsArr = (CLSpecifications -> [String] -> Args)
-> CLSpecifications -> [String] -> Array Int Arguments
takeABCsArr CLSpecifications -> [String] -> Args
takeCs
{-# INLINABLE takeCsArr #-}
takeCs1Arr
:: FirstChars
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeCs1Arr :: FirstChars -> CLSpecifications -> [String] -> Array Int Arguments
takeCs1Arr (Char
x1,Char
x2) = (CLSpecifications -> [String] -> Args)
-> CLSpecifications -> [String] -> Array Int Arguments
takeABCsArr (FirstChars -> CLSpecifications -> [String] -> Args
takeCs1 (Char
x1,Char
x2))
{-# INLINABLE takeCs1Arr #-}
takeBsArr
:: CLSpecifications
-> [String]
-> Array Int Arguments
takeBsArr :: CLSpecifications -> [String] -> Array Int Arguments
takeBsArr = (CLSpecifications -> [String] -> Args)
-> CLSpecifications -> [String] -> Array Int Arguments
takeABCsArr CLSpecifications -> [String] -> Args
takeBs
{-# INLINABLE takeBsArr #-}
takeAsArr
:: CLSpecifications
-> [String]
-> Array Int Arguments
takeAsArr :: CLSpecifications -> [String] -> Array Int Arguments
takeAsArr = (CLSpecifications -> [String] -> Args)
-> CLSpecifications -> [String] -> Array Int Arguments
takeABCsArr CLSpecifications -> [String] -> Args
takeAs
{-# INLINABLE takeAsArr #-}
takeABCsArrSortedBy
:: ((Arguments -> Arguments -> Ordering) -> CLSpecifications -> [String] -> Args)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeABCsArrSortedBy :: ((Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Args)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeABCsArrSortedBy (Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Args
g Arguments -> Arguments -> Ordering
f CLSpecifications
ts [String]
xss = (Int, Int) -> Args -> Array Int Arguments
forall i e. Ix i => (i, i) -> [e] -> Array i e
listArray (Int
0,Int
lInt -> Int -> Int
forall a. Num a => a -> a -> a
-Int
1) Args
js
where js :: Args
js = (Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Args
g Arguments -> Arguments -> Ordering
f CLSpecifications
ts [String]
xss
l :: Int
l = Args -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length Args
js
{-# INLINABLE takeABCsArrSortedBy #-}
takeCsArrSortedBy
:: (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeCsArrSortedBy :: (Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Array Int Arguments
takeCsArrSortedBy = ((Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Args)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeABCsArrSortedBy ((Arguments -> Bool)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Args
takeArgsSortedBy (\Arguments
x -> Arguments -> Bool
notNullArguments Arguments
x Bool -> Bool -> Bool
&& Arguments -> Bool
isC Arguments
x))
{-# INLINABLE takeCsArrSortedBy #-}
takeCs1ArrSortedBy
:: FirstChars
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeCs1ArrSortedBy :: FirstChars
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeCs1ArrSortedBy (Char
x1,Char
x2) = ((Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Args)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeABCsArrSortedBy (FirstChars
-> (Arguments -> Bool)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Args
takeArgs1SortedBy (Char
x1,Char
x2) (\Arguments
x -> Arguments -> Bool
notNullArguments Arguments
x Bool -> Bool -> Bool
&& Arguments -> Bool
isC Arguments
x))
{-# INLINABLE takeCs1ArrSortedBy #-}
takeBsArrSortedBy
:: (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeBsArrSortedBy :: (Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Array Int Arguments
takeBsArrSortedBy = ((Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Args)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeABCsArrSortedBy ((Arguments -> Bool)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Args
takeArgsSortedBy (\Arguments
x -> Arguments -> Bool
notNullArguments Arguments
x Bool -> Bool -> Bool
&& Arguments -> Bool
isB Arguments
x))
{-# INLINABLE takeBsArrSortedBy #-}
takeAsArrSortedBy
:: (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeAsArrSortedBy :: (Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Array Int Arguments
takeAsArrSortedBy = ((Arguments -> Arguments -> Ordering)
-> CLSpecifications -> [String] -> Args)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Array Int Arguments
takeABCsArrSortedBy ((Arguments -> Bool)
-> (Arguments -> Arguments -> Ordering)
-> CLSpecifications
-> [String]
-> Args
takeArgsSortedBy (\Arguments
x -> Arguments -> Bool
notNullArguments Arguments
x Bool -> Bool -> Bool
&& Arguments -> Bool
isA Arguments
x))
{-# INLINABLE takeAsArrSortedBy #-}