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

Copyright | Copyright (C) 2011 Uwe Schmidt
License | MIT
Maintainer | Uwe Schmidt (uwe\@fh-wedel.de)
Stability | experimental
Portability | portable
Safe Haskell | Safe
Language | Haskell98

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 -> b infixr 0 Source #

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

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

Minimal complete definition

Nothing

Methods

rwnf :: a -> () Source #

Default for rwnf is reduction to WHNF

rwnf2 :: a -> () Source #

Default for rwnf2 is rwnf

#### Instances

Instances details

WNFData Bool Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Bool -> () Source # rwnf2 :: Bool -> () Source #
WNFData Char Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Char -> () Source # rwnf2 :: Char -> () Source #
WNFData Double Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Double -> () Source # rwnf2 :: Double -> () Source #
WNFData Float Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Float -> () Source # rwnf2 :: Float -> () Source #
WNFData Int Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Int -> () Source # rwnf2 :: Int -> () Source #
WNFData Integer Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Integer -> () Source # rwnf2 :: Integer -> () Source #
WNFData Word Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Word -> () Source # rwnf2 :: Word -> () Source #
WNFData Word8 Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Word8 -> () Source # rwnf2 :: Word8 -> () Source #
WNFData Word16 Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Word16 -> () Source # rwnf2 :: Word16 -> () Source #
WNFData Word32 Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Word32 -> () Source # rwnf2 :: Word32 -> () Source #
WNFData Word64 Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: Word64 -> () Source # rwnf2 :: Word64 -> () Source #
WNFData () Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: () -> () Source # rwnf2 :: () -> () Source #
WNFData QName Source # |
Instance details Defined in Text.XML.HXT.DOM.QualifiedName Methods rwnf :: QName -> () Source # rwnf2 :: QName -> () Source #
WNFData XName Source # |
Instance details Defined in Text.XML.HXT.DOM.QualifiedName Methods rwnf :: XName -> () Source # rwnf2 :: XName -> () Source #
WNFData DTDElem Source # |
Instance details Defined in Text.XML.HXT.DOM.TypeDefs Methods rwnf :: DTDElem -> () Source # rwnf2 :: DTDElem -> () Source #
WNFData XNode Source # |
Instance details Defined in Text.XML.HXT.DOM.TypeDefs Methods rwnf :: XNode -> () Source # rwnf2 :: XNode -> () Source #
WNFData a => WNFData [a] Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: [a] -> () Source # rwnf2 :: [a] -> () Source #
WNFData a => WNFData (NTree a) Source # |
Instance details Defined in Data.Tree.NTree.TypeDefs Methods rwnf :: NTree a -> () Source # rwnf2 :: NTree a -> () Source #
(WNFData a, WNFData b) => WNFData (a, b) Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: (a, b) -> () Source # rwnf2 :: (a, b) -> () Source #
(WNFData a, WNFData b, WNFData c) => WNFData (a, b, c) Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: (a, b, c) -> () Source # rwnf2 :: (a, b, c) -> () Source #
(WNFData a, WNFData b, WNFData c, WNFData d) => WNFData (a, b, c, d) Source # |
Instance details Defined in Control.FlatSeq Methods rwnf :: (a, b, c, d) -> () Source # rwnf2 :: (a, b, c, d) -> () Source #