strict-0.5: Strict data types and String IO.

Safe Haskell | Safe
Language | Haskell2010

Data.Strict.Classes

Synopsis

- class Strict lazy strict | lazy -> strict, strict -> lazy where
  - toStrict :: lazy -> strict
  - toLazy :: strict -> lazy

# Documentation

class Strict lazy strict | lazy -> strict, strict -> lazy where Source #

Ad hoc conversion between "strict" and "lazy" versions of a structure.

Unfortunately all externally defined instances are doomed to be orphans: https://gitlab.haskell.org/ghc/ghc/-/issues/11999 See also https://qfpl.io/posts/orphans-and-fundeps/index.html for

Methods

toStrict :: lazy -> strict Source #

toLazy :: strict -> lazy Source #

#### Instances

Instances details

Strict ByteString ByteString Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: ByteString -> ByteString0 Source # toLazy :: ByteString0 -> ByteString Source #
Strict Text Text Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: Text -> Text0 Source # toLazy :: Text0 -> Text Source #
Strict (Maybe a) (Maybe a) Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: Maybe0 a -> Maybe a Source # toLazy :: Maybe a -> Maybe0 a Source #
Strict (ST s a) (ST s a) Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: ST s a -> ST0 s a Source # toLazy :: ST0 s a -> ST s a Source #
Strict (Either a b) (Either a b) Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: Either0 a b -> Either a b Source # toLazy :: Either a b -> Either0 a b Source #
Strict (These a b) (These a b) Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: These0 a b -> These a b Source # toLazy :: These a b -> These0 a b Source #
Strict (a, b) (Pair a b) Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: (a, b) -> Pair a b Source # toLazy :: Pair a b -> (a, b) Source #
Strict (StateT s m a) (StateT s m a) Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: StateT0 s m a -> StateT s m a Source # toLazy :: StateT s m a -> StateT0 s m a Source #
Strict (WriterT w m a) (WriterT w m a) Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: WriterT0 w m a -> WriterT w m a Source # toLazy :: WriterT w m a -> WriterT0 w m a Source #
Strict (RWST r w s m a) (RWST r w s m a) Source # |
Instance details Defined in Data.Strict.Classes Methods toStrict :: RWST0 r w s m a -> RWST r w s m a Source # toLazy :: RWST r w s m a -> RWST0 r w s m a Source #