putlenses-0.1.0: Put-based lens library

Stabilityprovisional
MaintainerHugo Pacheco <hpacheco@nii.ac.jp>
Safe HaskellNone

GHC.InOut

Description

Generic sums of products representation for algebraic data types

Documentation

class (Generic a, ToFromRep (Rep a)) => InOut a whereSource

Methods

inn :: F a -> aSource

out :: a -> F aSource

Instances

(Generic a, ToFromRep (Rep a)) => InOut a 

type family Flatten f :: *Source

type F a = Flatten (Rep a)Source

class ToFromRep f whereSource

Methods

fromRep :: f x -> Flatten fSource

toRep :: Flatten f -> f xSource

Instances

ToFromRep U1 
ToFromRep (K1 i c) 
(ToFromRep f, ToFromRep g) => ToFromRep (:+: f g) 
(ToFromRep f, ToFromRep g) => ToFromRep (:*: f g) 
ToFromRep f => ToFromRep (M1 i c f)