basement-0.0.16: 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 Source #

Data that can be fully evaluated in Normal Form

Methods

toNormalForm :: a -> () Source #

#### Instances

Instances details

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

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

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