Basement.NormalForm

basement-0.0.12: Foundation scrap box of array & string

Safe Haskell | Safe-Inferred
Language | Haskell2010

Basement.NormalForm

Synopsis

- class NormalForm a where
  - toNormalForm :: a -> ()
- deepseq :: NormalForm a => a -> b -> b
- force :: NormalForm a => a -> a

# Documentation

class NormalForm a where #

Data that can be fully evaluated in Normal Form

Methods

toNormalForm :: a -> () #

#### Instances

Instances details

NormalForm CChar # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CChar -> () #
NormalForm CDouble # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CDouble -> () #
NormalForm CFloat # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CFloat -> () #
NormalForm CInt # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CInt -> () #
NormalForm CLLong # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CLLong -> () #
NormalForm CLong # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CLong -> () #
NormalForm CSChar # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CSChar -> () #
NormalForm CShort # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CShort -> () #
NormalForm CUChar # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CUChar -> () #
NormalForm CUInt # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CUInt -> () #
NormalForm CULLong # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CULLong -> () #
NormalForm CULong # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CULong -> () #
NormalForm CUShort # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CUShort -> () #
NormalForm Int16 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Int16 -> () #
NormalForm Int32 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Int32 -> () #
NormalForm Int64 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Int64 -> () #
NormalForm Int8 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Int8 -> () #
NormalForm Word16 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Word16 -> () #
NormalForm Word32 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Word32 -> () #
NormalForm Word64 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Word64 -> () #
NormalForm Word8 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Word8 -> () #
NormalForm Char7 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Char7 -> () #
NormalForm Word128 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Word128 -> () #
NormalForm Word256 # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Word256 -> () #
NormalForm String # |
Instance details Defined in Basement.UTF8.Base Methods toNormalForm :: String -> () #
NormalForm Integer # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Integer -> () #
NormalForm Natural # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Natural -> () #
NormalForm () # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: () -> () #
NormalForm Bool # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Bool -> () #
NormalForm Char # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Char -> () #
NormalForm Double # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Double -> () #
NormalForm Float # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Float -> () #
NormalForm Int # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Int -> () #
NormalForm Word # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Word -> () #
NormalForm (Ptr a) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Ptr a -> () #
NormalForm (Block ty) # |
Instance details Defined in Basement.Block.Base Methods toNormalForm :: Block ty -> () #
NormalForm (Zn n) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Zn n -> () #
NormalForm (Zn64 n) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Zn64 n -> () #
NormalForm a => NormalForm (Array a) # |
Instance details Defined in Basement.BoxedArray Methods toNormalForm :: Array a -> () #
NormalForm a => NormalForm (BE a) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: BE a -> () #
NormalForm a => NormalForm (LE a) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: LE a -> () #
NormalForm (CountOf a) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: CountOf a -> () #
NormalForm (Offset a) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Offset a -> () #
NormalForm (UArray ty) # |
Instance details Defined in Basement.UArray.Base Methods toNormalForm :: UArray ty -> () #
NormalForm a => NormalForm (Maybe a) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Maybe a -> () #
NormalForm a => NormalForm [a] # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: [a] -> () #
(NormalForm l, NormalForm r) => NormalForm (Either l r) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: Either l r -> () #
NormalForm (BlockN n a) # |
Instance details Defined in Basement.Sized.Block Methods toNormalForm :: BlockN n a -> () #
NormalForm a => NormalForm (ListN n a) # |
Instance details Defined in Basement.Sized.List Methods toNormalForm :: ListN n a -> () #
NormalForm (UVect n a) # |
Instance details Defined in Basement.Sized.UVect Methods toNormalForm :: UVect n a -> () #
NormalForm a => NormalForm (Vect n a) # |
Instance details Defined in Basement.Sized.Vect Methods toNormalForm :: Vect n a -> () #
(NormalForm a, NormalForm b) => NormalForm (These a b) # |
Instance details Defined in Basement.These Methods toNormalForm :: These a b -> () #
(NormalForm a, NormalForm b) => NormalForm (a, b) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: (a, b) -> () #
(NormalForm a, NormalForm b, NormalForm c) => NormalForm (a, b, c) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: (a, b, c) -> () #
(NormalForm a, NormalForm b, NormalForm c, NormalForm d) => NormalForm (a, b, c, d) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: (a, b, c, d) -> () #
(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e) => NormalForm (a, b, c, d, e) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: (a, b, c, d, e) -> () #
(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e, NormalForm f) => NormalForm (a, b, c, d, e, f) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: (a, b, c, d, e, f) -> () #
(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e, NormalForm f, NormalForm g) => NormalForm (a, b, c, d, e, f, g) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: (a, b, c, d, e, f, g) -> () #
(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) # |
Instance details Defined in Basement.NormalForm Methods toNormalForm :: (a, b, c, d, e, f, g, h) -> () #

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

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