basement-0.0.7: Foundation scrap box of array & string

Safe HaskellNone
LanguageHaskell2010

Basement.NormalForm

Synopsis

Documentation

class NormalForm a where Source #

Data that can be fully evaluated in Normal Form

Minimal complete definition

toNormalForm

Methods

toNormalForm :: a -> () Source #

Instances

NormalForm Bool Source # 

Methods

toNormalForm :: Bool -> () Source #

NormalForm Char Source # 

Methods

toNormalForm :: Char -> () Source #

NormalForm Double Source # 

Methods

toNormalForm :: Double -> () Source #

NormalForm Float Source # 

Methods

toNormalForm :: Float -> () Source #

NormalForm Int Source # 

Methods

toNormalForm :: Int -> () Source #

NormalForm Int8 Source # 

Methods

toNormalForm :: Int8 -> () Source #

NormalForm Int16 Source # 

Methods

toNormalForm :: Int16 -> () Source #

NormalForm Int32 Source # 

Methods

toNormalForm :: Int32 -> () Source #

NormalForm Int64 Source # 

Methods

toNormalForm :: Int64 -> () Source #

NormalForm Integer Source # 

Methods

toNormalForm :: Integer -> () Source #

NormalForm Natural Source # 

Methods

toNormalForm :: Natural -> () Source #

NormalForm Word Source # 

Methods

toNormalForm :: Word -> () Source #

NormalForm Word8 Source # 

Methods

toNormalForm :: Word8 -> () Source #

NormalForm Word16 Source # 

Methods

toNormalForm :: Word16 -> () Source #

NormalForm Word32 Source # 

Methods

toNormalForm :: Word32 -> () Source #

NormalForm Word64 Source # 

Methods

toNormalForm :: Word64 -> () Source #

NormalForm () Source # 

Methods

toNormalForm :: () -> () Source #

NormalForm CChar Source # 

Methods

toNormalForm :: CChar -> () Source #

NormalForm CSChar Source # 

Methods

toNormalForm :: CSChar -> () Source #

NormalForm CUChar Source # 

Methods

toNormalForm :: CUChar -> () Source #

NormalForm CShort Source # 

Methods

toNormalForm :: CShort -> () Source #

NormalForm CUShort Source # 

Methods

toNormalForm :: CUShort -> () Source #

NormalForm CInt Source # 

Methods

toNormalForm :: CInt -> () Source #

NormalForm CUInt Source # 

Methods

toNormalForm :: CUInt -> () Source #

NormalForm CLong Source # 

Methods

toNormalForm :: CLong -> () Source #

NormalForm CULong Source # 

Methods

toNormalForm :: CULong -> () Source #

NormalForm CLLong Source # 

Methods

toNormalForm :: CLLong -> () Source #

NormalForm CULLong Source # 

Methods

toNormalForm :: CULLong -> () Source #

NormalForm CFloat Source # 

Methods

toNormalForm :: CFloat -> () Source #

NormalForm CDouble Source # 

Methods

toNormalForm :: CDouble -> () Source #

NormalForm Char7 Source # 

Methods

toNormalForm :: Char7 -> () Source #

NormalForm Word128 Source # 

Methods

toNormalForm :: Word128 -> () Source #

NormalForm Word256 Source # 

Methods

toNormalForm :: Word256 -> () Source #

NormalForm String Source # 

Methods

toNormalForm :: String -> () Source #

NormalForm a => NormalForm [a] Source # 

Methods

toNormalForm :: [a] -> () Source #

NormalForm a => NormalForm (Maybe a) Source # 

Methods

toNormalForm :: Maybe a -> () Source #

NormalForm (Ptr a) Source # 

Methods

toNormalForm :: Ptr a -> () Source #

NormalForm a => NormalForm (BE a) Source # 

Methods

toNormalForm :: BE a -> () Source #

NormalForm a => NormalForm (LE a) Source # 

Methods

toNormalForm :: LE a -> () Source #

NormalForm (Zn n) Source # 

Methods

toNormalForm :: Zn n -> () Source #

NormalForm (Zn64 n) Source # 

Methods

toNormalForm :: Zn64 n -> () Source #

NormalForm (CountOf a) Source # 

Methods

toNormalForm :: CountOf a -> () Source #

NormalForm (Offset a) Source # 

Methods

toNormalForm :: Offset a -> () Source #

NormalForm (Block ty) Source # 

Methods

toNormalForm :: Block ty -> () Source #

NormalForm (UArray ty) Source # 

Methods

toNormalForm :: UArray ty -> () Source #

NormalForm a => NormalForm (Array a) Source # 

Methods

toNormalForm :: Array a -> () Source #

(NormalForm l, NormalForm r) => NormalForm (Either l r) Source # 

Methods

toNormalForm :: Either l r -> () Source #

(NormalForm a, NormalForm b) => NormalForm (a, b) Source # 

Methods

toNormalForm :: (a, b) -> () Source #

(NormalForm a, NormalForm b) => NormalForm (These a b) Source # 

Methods

toNormalForm :: These a b -> () Source #

NormalForm a => NormalForm (ListN n a) Source # 

Methods

toNormalForm :: ListN n a -> () Source #

NormalForm (BlockN n a) Source # 

Methods

toNormalForm :: BlockN n a -> () Source #

NormalForm a => NormalForm (Vect n a) Source # 

Methods

toNormalForm :: Vect n a -> () Source #

NormalForm (UVect n a) Source # 

Methods

toNormalForm :: UVect n a -> () Source #

(NormalForm a, NormalForm b, NormalForm c) => NormalForm (a, b, c) Source # 

Methods

toNormalForm :: (a, b, c) -> () Source #

(NormalForm a, NormalForm b, NormalForm c, NormalForm d) => NormalForm (a, b, c, d) Source # 

Methods

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

(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e) => NormalForm (a, b, c, d, e) Source # 

Methods

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

(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e, NormalForm f) => NormalForm (a, b, c, d, e, f) Source # 

Methods

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

(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e, NormalForm f, NormalForm g) => NormalForm (a, b, c, d, e, f, g) Source # 

Methods

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

(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e, NormalForm f, NormalForm g, NormalForm h) => NormalForm (a, b, c, d, e, f, g, h) Source # 

Methods

toNormalForm :: (a, b, c, d, e, f, g, h) -> () Source #

deepseq :: NormalForm a => a -> b -> b Source #

force :: NormalForm a => a -> a Source #