Hastructure
Safe HaskellNone
LanguageHaskell2010

Util

Synopsis

Documentation

lastN :: Int -> [a] -> [a] Source #

zipTs :: [Date] -> [Rational] -> Ts Source #

replace :: [a] -> Int -> a -> [a] Source #

swap a value in list with index supplied

padding default value to end of list ,make it length with N

paddingDefault :: a -> [a] -> Int -> [a] Source #

capWith :: Ord a => a -> [a] -> [a] Source #

maximum' :: Ord a => [a] -> a Source #

minimum' :: Ord a => [a] -> a Source #

roundingBy :: (Num a, Fractional a, RealFrac a) => RoundingBy a -> a -> a Source #

floorWith :: Ord a => a -> [a] -> [a] Source #

slice :: Int -> Int -> [a] -> [a] Source #

dropLastN :: Int -> [a] -> [a] Source #

convert annual rate (in 365 days) to period rate by interval days

zipBalTs :: [Date] -> [Balance] -> Ts Source #

multiply 1st Ts with values from 2nd Ts

lastOf :: [a] -> (a -> Bool) -> Maybe a Source #

findBox :: (Ord a, Num a) => (CutoffType, CutoffType) -> a -> [(a, a)] -> Maybe (a, a) Source #

safeDivide' :: (Eq a, Fractional a, Real a) => a -> a -> Rational Source #

safeDivide :: RealFloat a => a -> a -> a Source #

lstToMapByFn :: (a -> String) -> [a] -> Map String a Source #

paySequentially :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> a) -> [a] -> [a] -> ([a], Amount) Source #

payProRata :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> a) -> [a] -> ([a], Amount) Source #

mapWithinMap :: Ord k => (a -> a) -> [k] -> Map k a -> Map k a Source #

payInMap :: Date -> Balance -> (a -> Balance) -> (Balance -> a -> a) -> [String] -> HowToPay -> Map String a -> Map String a Source #

adjustM :: (Ord k, Applicative m) => (a -> m a) -> k -> Map k a -> m (Map k a) Source #

lookup and apply a function to a single value in a map ,return a value

lookupAndApply :: Ord k => (a -> b) -> String -> k -> Map k a -> Either String b Source #

lookup and apply a function to values in a map ,return a list

lookupAndUpdate :: (Show k, Ord k) => (a -> a) -> String -> [k] -> Map k a -> Either String (Map k a) Source #

lookupAndApplies :: Ord k => (a -> b) -> String -> [k] -> Map k a -> Either String [b] Source #

lookupInMap :: (Show k, Ord k) => String -> [k] -> Map k a -> Either String (Map k a) Source #

selectInMap :: (Show k, Ord k) => String -> [k] -> Map k a -> Either String (Map k a) Source #

scaleByFstElement :: Fractional a => a -> [a] -> [a] Source #

lookupTuple6 :: Ord k => (k, k, k, k, k, k) -> Map k v -> (Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v) Source #

lookupTuple7 :: Ord k => (k, k, k, k, k, k, k) -> Map k v -> (Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v) Source #

diffNum :: Num a => [a] -> [a] Source #

paySeqM :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> Either String a) -> Either String [a] -> [a] -> Either String ([a], Amount) Source #

splitByLengths :: Num a => [a] -> [Int] -> [[a]] Source #