Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- newtype FromPInner (a :: S -> Type) (s :: S) = FromPInner (Term s a)
Documentation
newtype FromPInner (a :: S -> Type) (s :: S) Source #
Derivation helper to obtain Semigroup
and Monoid
instances for a type
by way of its PInner
representation.
Important notes
Do not use this helper for any type a
where
. This will
loop the compiler.PInner
a ~ a
Furthermore, only use this derivation if Semigroup
and Monoid
methods
cannot produce invalid values of the type being derived for. For example, if
<>
between PInner
s can produce an invalid value of your type, deriving in
this manner will allow such values to exist.
Since: 3.14.0
FromPInner (Term s a) |
Instances
PInnerMonoid a (PInner a) => Monoid (FromPInner a s) Source # | Since: 3.14.0 |
Defined in Plutarch.Extra.Deriving mempty :: FromPInner a s Source # mappend :: FromPInner a s -> FromPInner a s -> FromPInner a s Source # mconcat :: [FromPInner a s] -> FromPInner a s Source # | |
PInnerSemigroup a (PInner a) => Semigroup (FromPInner a s) Source # | Since: 3.14.0 |
Defined in Plutarch.Extra.Deriving (<>) :: FromPInner a s -> FromPInner a s -> FromPInner a s Source # sconcat :: NonEmpty (FromPInner a s) -> FromPInner a s Source # stimes :: Integral b => b -> FromPInner a s -> FromPInner a s Source # |