uni-util-2.3.0.3: Utilities for the uniform workbench
Safe HaskellSafe-Inferred
LanguageHaskell2010

Util.DeepSeq

Description

Module taken from Dean Harington's post to the Haskell mailing list on Fri, 17 Aug 2001.

URL is currently http://www.haskell.org/pipermail/haskell/2001-August/007712.html

This module provides deepSeq and $!! which correspond to seq and $! except that they try to evaluate everything in the argument. For example, if a list is provided, the whole list must be evaluated.

For purposes of Haddock, empty instance declarations with where have had the where deleted.

Documentation

class DeepSeq a where Source #

Minimal complete definition

Nothing

Methods

deepSeq :: a -> b -> b infixr 0 Source #

Instances

Instances details
DeepSeq Bool Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Bool -> b -> b Source #

DeepSeq Char Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Char -> b -> b Source #

DeepSeq Double Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Double -> b -> b Source #

DeepSeq Float Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Float -> b -> b Source #

DeepSeq Int Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Int -> b -> b Source #

DeepSeq Integer Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Integer -> b -> b Source #

DeepSeq Ordering Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Ordering -> b -> b Source #

DeepSeq () Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: () -> b -> b Source #

DeepSeq a => DeepSeq [a] Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: [a] -> b -> b Source #

DeepSeq a => DeepSeq (Maybe a) Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Maybe a -> b -> b Source #

(DeepSeq a, DeepSeq b) => DeepSeq (Either a b) Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: Either a b -> b0 -> b0 Source #

(DeepSeq a, DeepSeq b) => DeepSeq (a, b) Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: (a, b) -> b0 -> b0 Source #

(DeepSeq a, DeepSeq b, DeepSeq c) => DeepSeq (a, b, c) Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: (a, b, c) -> b0 -> b0 Source #

(DeepSeq a, DeepSeq b, DeepSeq c, DeepSeq d) => DeepSeq (a, b, c, d) Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: (a, b, c, d) -> b0 -> b0 Source #

(DeepSeq a, DeepSeq b, DeepSeq c, DeepSeq d, DeepSeq e) => DeepSeq (a, b, c, d, e) Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: (a, b, c, d, e) -> b0 -> b0 Source #

(DeepSeq a, DeepSeq b, DeepSeq c, DeepSeq d, DeepSeq e, DeepSeq f) => DeepSeq (a, b, c, d, e, f) Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: (a, b, c, d, e, f) -> b0 -> b0 Source #

(DeepSeq a, DeepSeq b, DeepSeq c, DeepSeq d, DeepSeq e, DeepSeq f, DeepSeq g) => DeepSeq (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Util.DeepSeq

Methods

deepSeq :: (a, b, c, d, e, f, g) -> b0 -> b0 Source #

($!!) :: DeepSeq a => (a -> b) -> a -> b infixr 0 Source #