| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Witch.From
Documentation
class From source target where Source #
This type class is for converting values from some source type into
some other target type. The constraint means that
you can convert from a value of type From source targetsource into a value of type
target.
This type class is for conversions that always succeed. If your conversion
sometimes fails, consider implementing TryFrom instead.
Minimal complete definition
Nothing
Methods
from :: source -> target Source #
This method implements the conversion of a value between types. At call
sites you may prefer to use into instead.
-- Avoid this: from (x :: s) -- Prefer this: from @s x
The default implementation of this method simply calls coerce,
which works for types that have the same runtime representation. This
means that for newtypes you do not need to implement this method at
all. For example:
>>>newtype Name = Name String>>>instance From Name String>>>instance From String Name