Module

Data.Generic.Rep.Optic.Internal

Package
purescript-generics-rep-optics
Repository
LiamGoodacre/purescript-generics-rep-optics

#iRep Source

iRep :: forall a s. Generic s a => Iso s s a a

Isomorphism between data and it's generic representation

#Ctor Source

class Ctor (ct :: Symbol) (rep :: Type) (out :: Type) (p :: Type -> Type -> Type) | ct rep -> out p where

Optic into a ctor of a Sum

Members

Instances

#CtorArg Source

class CtorArg (ct :: Symbol) (fd :: Symbol) (rep :: Type) (arg :: Type) (p :: Type -> Type -> Type) |  -> ct fd rep arg p where

Members

Instances

#iArg Source

iArg :: forall b a. Iso (Argument a) (Argument b) a b

#CtorSum Source

class CtorSum (bool :: Boolean) (ct :: Symbol) (rep :: Type) (out :: Type) (p :: Type -> Type -> Type) | bool -> ct rep out p where

Dispatch on equal symbols

Members

Instances

#Args Source

class Args (fd :: Symbol) (rep :: Type) (out :: Type) (p :: Type -> Type -> Type) | fd rep -> out p where

Members

Instances

#Z Source

data Z :: Type

Instances

#S Source

data S :: Type -> Type

Instances

#NatKey Source

class NatKey (n :: Type) (s :: Symbol) | n -> s, s -> n

Instances

#ArgsProd Source

class ArgsProd (count :: Type) (rep :: Type) (out :: Type) (p :: Type -> Type -> Type) | count rep -> out p where

Members

Instances

#ArgsRec Source

class ArgsRec (fd :: Symbol) (rep :: Type) (out :: Type) (p :: Type -> Type -> Type) | rep -> out p where

Members

Instances

#ArgsRecCheck Source

class ArgsRecCheck (bool :: Boolean) (fd :: Symbol) (rep :: Type) (lfd :: Symbol) (lty :: Type) (right :: Type) (out :: Type) (p :: Type -> Type -> Type) | bool fd -> rep lfd lty right out p where

Members

Instances