strongweak-0.1.0: Convert between strong and weak representations of types
Safe HaskellSafe-Inferred
LanguageHaskell2010

Strongweak.Weaken

Synopsis

Documentation

class Weaken s w | s -> w where Source #

Any s can be "weakened" into a w.

For example, you may weaken a Word8 into a Natural.

Note that we restrict strengthened types to having only one corresponding weak representation using functional dependencies.

Methods

weaken :: s -> w Source #

Instances

Instances details
Weaken Int16 Integer Source # 
Instance details

Defined in Strongweak.Weaken

Methods

weaken :: Int16 -> Integer Source #

Weaken Int32 Integer Source # 
Instance details

Defined in Strongweak.Weaken

Methods

weaken :: Int32 -> Integer Source #

Weaken Int64 Integer Source # 
Instance details

Defined in Strongweak.Weaken

Methods

weaken :: Int64 -> Integer Source #

Weaken Int8 Integer Source # 
Instance details

Defined in Strongweak.Weaken

Methods

weaken :: Int8 -> Integer Source #

Weaken Word16 Natural Source # 
Instance details

Defined in Strongweak.Weaken

Weaken Word32 Natural Source # 
Instance details

Defined in Strongweak.Weaken

Weaken Word64 Natural Source # 
Instance details

Defined in Strongweak.Weaken

Weaken Word8 Natural Source # 
Instance details

Defined in Strongweak.Weaken

Methods

weaken :: Word8 -> Natural Source #

Weaken (Ex1D 'Strong) (Ex1D 'Weak) Source # 
Instance details

Defined in Strongweak.Example

Methods

weaken :: Ex1D 'Strong -> Ex1D 'Weak Source #

Weaken (Ex2D 'Strong) (Ex2D 'Weak) Source # 
Instance details

Defined in Strongweak.Example

Methods

weaken :: Ex2D 'Strong -> Ex2D 'Weak Source #

Weaken (ExUnit 'Strong) (ExUnit 'Weak) Source # 
Instance details

Defined in Strongweak.Example

Weaken (ExVoid 'Strong) (ExVoid 'Weak) Source # 
Instance details

Defined in Strongweak.Example

Weaken s w => Weaken [s] [w] Source #

Weaken each element of a list.

Instance details

Defined in Strongweak.Weaken

Methods

weaken :: [s] -> [w] Source #

Weaken (Refined p a) a Source #

Strip the refinement from refined types.

Instance details

Defined in Strongweak.Weaken

Methods

weaken :: Refined p a -> a Source #

Weaken (Vector n a) [a] Source #

Weaken sized vectors into plain lists.

Instance details

Defined in Strongweak.Weaken

Methods

weaken :: Vector n a -> [a] Source #