module CabalGild.Extra.List where

compareLength :: [a] -> Int -> Ordering
compareLength :: forall a. [a] -> Int -> Ordering
compareLength [a]
xs Int
n =
  if Int
n Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
< Int
0
    then Ordering
GT
    else case [a]
xs of
      [] -> Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
compare Int
0 Int
n
      a
_ : [a]
ys -> [a] -> Int -> Ordering
forall a. [a] -> Int -> Ordering
compareLength [a]
ys (Int -> Ordering) -> Int -> Ordering
forall a b. (a -> b) -> a -> b
$ Int
n Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1