strict-0.4: Strict data types and String IO.

Safe HaskellSafe
LanguageHaskell2010

Data.Strict.Classes

Synopsis
  • class Strict lazy strict | lazy -> strict, strict -> lazy where

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
Strict ByteString ByteString Source # 
Instance details

Defined in Data.Strict.Classes

Strict Text Text Source # 
Instance details

Defined in Data.Strict.Classes

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 (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 (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 (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 (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 (WriterT w m a) (WriterT w m a) Source # 
Instance details

Defined in Data.Strict.Classes

Methods

toStrict :: WriterT w m a -> WriterT0 w m a Source #

toLazy :: WriterT0 w m a -> WriterT w m a Source #

Strict (StateT s m a) (StateT s m a) Source # 
Instance details

Defined in Data.Strict.Classes

Methods

toStrict :: StateT s m a -> StateT0 s m a Source #

toLazy :: StateT0 s m a -> StateT s 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 :: RWST r w s m a -> RWST0 r w s m a Source #

toLazy :: RWST0 r w s m a -> RWST r w s m a Source #