base-compat-0.13.1: A compatibility layer for base

Safe Haskell | Safe-Inferred
Language | Haskell2010

Data.Function.Compat

Synopsis

- module Data.Function
- (&) :: a -> (a -> b) -> b
- applyWhen :: Bool -> (a -> a) -> a -> a

# Documentation

module Data.Function

(&) :: a -> (a -> b) -> b infixl 1 Source #

`&` is a reverse application operator. This provides notational convenience. Its precedence is one higher than that of the forward application operator `$`, which allows `&` to be nested in `$`.

    >>> 5 & (+1) & show
    "6"

Since: base-4.8.0.0

applyWhen :: Bool -> (a -> a) -> a -> a Source #

`applyWhen` applies a function to a value if a condition is true, otherwise, it returns the value unchanged.

It is equivalent to ``flip` (`bool` `id`)`.

Algebraic properties:

-     applyWhen True = id

-     applyWhen False f = id

Since: base-4.18.0.0