module Ptr.List where import Ptr.Prelude {-# INLINE reverseDigits #-} reverseDigits :: Integral a => a {-^ Radix -} -> a {-^ Number -} -> [a] reverseDigits :: a -> a -> [a] reverseDigits a radix = let loop :: a -> [a] loop a x = case a -> a -> (a, a) forall a. Integral a => a -> a -> (a, a) divMod a x a radix of (a next, a digit) -> a digit a -> [a] -> [a] forall a. a -> [a] -> [a] : if a next a -> a -> Bool forall a. Ord a => a -> a -> Bool <= a 0 then [] else a -> [a] loop a next in a -> [a] loop