Module

# Data.Lazy

- Package
- purescript-lazy
- Repository
- purescript/purescript-lazy

### #Lazy Source

`data Lazy :: Type -> Type`

`Lazy a`

represents lazily-computed values of type `a`

.

A lazy value is computed at most once - the result is saved after the first computation, and subsequent attempts to read the value simply return the saved value.

`Lazy`

values can be created with `defer`

, or by using the provided
type class instances.

`Lazy`

values can be evaluated by using the `force`

function.

#### Instances

`(Semiring a) => Semiring (Lazy a)`

`(Ring a) => Ring (Lazy a)`

`(CommutativeRing a) => CommutativeRing (Lazy a)`

`(EuclideanRing a) => EuclideanRing (Lazy a)`

`(Field a) => Field (Lazy a)`

`(Eq a) => Eq (Lazy a)`

`(Ord a) => Ord (Lazy a)`

`(Bounded a) => Bounded (Lazy a)`

`(Semigroup a) => Semigroup (Lazy a)`

`(Monoid a) => Monoid (Lazy a)`

`(HeytingAlgebra a) => HeytingAlgebra (Lazy a)`

`(BooleanAlgebra a) => BooleanAlgebra (Lazy a)`

`Functor Lazy`

`Invariant Lazy`

`Apply Lazy`

`Applicative Lazy`

`Bind Lazy`

`Monad Lazy`

`Extend Lazy`

`Comonad Lazy`

`(Show a) => Show (Lazy a)`

`Lazy (Lazy a)`

- Modules
- Data.
Lazy