hxt-9.3.1.1: A collection of tools for processing XML with Haskell.

Portability | portable
Stability | experimental
Maintainer | Uwe Schmidt (uwe\@fh-wedel.de)
Safe Haskell | Safe-Inferred

Control.FlatSeq

Description

Force evaluation like deepseq in Control.DeepSeq, but control the depth of evaluation. flatseq may evaluate more than seq but less than deepseq

Synopsis

- ($!!) :: WNFData a => (a -> b) -> a -> b
- flatseq :: WNFData a => a -> b -> b
- rlnf :: (a -> ()) -> [a] -> ()
- class WNFData a where
  - rwnf :: a -> ()
  - rwnf2 :: a -> ()

# Documentation

($!!) :: WNFData a => (a -> b) -> a -> bSource

flatseq :: WNFData a => a -> b -> bSource

rlnf :: (a -> ()) -> [a] -> ()Source

class WNFData a where Source

A class of types that can be partially evaluated, but evaluation can be propagated deeper than WHNF

Methods

rwnf :: a -> ()Source

Default for rwnf is reduction to WHNF

rwnf2 :: a -> ()Source

Default for rwnf2 is rwnf

Instances

WNFData Bool |
WNFData Char |
WNFData Double |
WNFData Float |
WNFData Int |
WNFData Integer |
WNFData Word |
WNFData Word8 |
WNFData Word16 |
WNFData Word32 |
WNFData Word64 |
WNFData () |
WNFData QName |
WNFData XName |
WNFData DTDElem |
WNFData XNode |
WNFData a => WNFData [a] |
WNFData a => WNFData (NTree a) |
(WNFData a, WNFData b) => WNFData (a, b) |
(WNFData a, WNFData b, WNFData c) => WNFData (a, b, c) |
(WNFData a, WNFData b, WNFData c, WNFData d) => WNFData (a, b, c, d) |