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

CopyrightCopyright (C) 2011 Uwe Schmidt
LicenseMIT
MaintainerUwe Schmidt (uwe\@fh-wedel.de)
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

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

Documentation

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

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

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

class WNFData a where #

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

Methods

rwnf :: a -> () #

Default for rwnf is reduction to WHNF

rwnf2 :: a -> () #

Default for rwnf2 is rwnf

Instances

WNFData Bool # 

Methods

rwnf :: Bool -> () #

rwnf2 :: Bool -> () #

WNFData Char # 

Methods

rwnf :: Char -> () #

rwnf2 :: Char -> () #

WNFData Double # 

Methods

rwnf :: Double -> () #

rwnf2 :: Double -> () #

WNFData Float # 

Methods

rwnf :: Float -> () #

rwnf2 :: Float -> () #

WNFData Int # 

Methods

rwnf :: Int -> () #

rwnf2 :: Int -> () #

WNFData Integer # 

Methods

rwnf :: Integer -> () #

rwnf2 :: Integer -> () #

WNFData Word # 

Methods

rwnf :: Word -> () #

rwnf2 :: Word -> () #

WNFData Word8 # 

Methods

rwnf :: Word8 -> () #

rwnf2 :: Word8 -> () #

WNFData Word16 # 

Methods

rwnf :: Word16 -> () #

rwnf2 :: Word16 -> () #

WNFData Word32 # 

Methods

rwnf :: Word32 -> () #

rwnf2 :: Word32 -> () #

WNFData Word64 # 

Methods

rwnf :: Word64 -> () #

rwnf2 :: Word64 -> () #

WNFData () # 

Methods

rwnf :: () -> () #

rwnf2 :: () -> () #

WNFData QName # 

Methods

rwnf :: QName -> () #

rwnf2 :: QName -> () #

WNFData XName # 

Methods

rwnf :: XName -> () #

rwnf2 :: XName -> () #

WNFData DTDElem # 

Methods

rwnf :: DTDElem -> () #

rwnf2 :: DTDElem -> () #

WNFData XNode # 

Methods

rwnf :: XNode -> () #

rwnf2 :: XNode -> () #

WNFData a => WNFData [a] # 

Methods

rwnf :: [a] -> () #

rwnf2 :: [a] -> () #

WNFData a => WNFData (NTree a) # 

Methods

rwnf :: NTree a -> () #

rwnf2 :: NTree a -> () #

(WNFData a, WNFData b) => WNFData (a, b) # 

Methods

rwnf :: (a, b) -> () #

rwnf2 :: (a, b) -> () #

(WNFData a, WNFData b, WNFData c) => WNFData (a, b, c) # 

Methods

rwnf :: (a, b, c) -> () #

rwnf2 :: (a, b, c) -> () #

(WNFData a, WNFData b, WNFData c, WNFData d) => WNFData (a, b, c, d) # 

Methods

rwnf :: (a, b, c, d) -> () #

rwnf2 :: (a, b, c, d) -> () #