Data.Function.HT

utility-ht-0.0.11: Various small helper functions for Lists, Maybes, Tuples, Functions

Safe Haskell | Safe
Language | Haskell98

Data.Function.HT

Synopsis

- nest :: Int -> (a -> a) -> a -> a
- powerAssociative :: (a -> a -> a) -> a -> a -> Integer -> a
- compose2 :: (b -> b -> c) -> (a -> b) -> a -> a -> c

# Documentation

nest :: Int -> (a -> a) -> a -> a

Compositional power of a function, i.e. apply the function `n` times to a value. It is rather the same as `iter` in Simon Thompson: "The Craft of Functional Programming", page 172

powerAssociative :: (a -> a -> a) -> a -> a -> Integer -> a

`powerAssociative` is an auxiliary function that, for an associative operation `op`, computes the same value as

    powerAssociative op a0 a n = foldr op a0 (genericReplicate n a)

but applies "op" O(log n) times and works for large n.

compose2 :: (b -> b -> c) -> (a -> b) -> a -> a -> c

Known as `on` in newer versions of the `base` package.