pandora-0.3.0: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Structure.Ability.Focusable

Documentation

class Focusable f t where Source #

Associated Types

type Focusing (f :: * -> k) (t :: * -> *) a Source #

Methods

focusing :: Tagged f (t a) :-. Focusing f t a Source #

Instances
Focusable (Root :: Type -> Location Type) Rose Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Focusing Root Rose a :: Type Source #

(forall a. Chain a) => Focusable (Root :: Type -> Location Type) Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focusing Root Binary a :: Type Source #

Focusable (Head :: Type -> Location Type) Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Associated Types

type Focusing Head Stack a :: Type Source #

Focusable (Root :: Type -> Location Type) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focusing Root (Construction Wye) a :: Type Source #

Focusable (Root :: Type -> Location Type) (Construction Stack) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Focusing Root (Construction Stack) a :: Type Source #

Focusable (Head :: Type -> Location Type) (Construction Maybe) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Associated Types

type Focusing Head (Construction Maybe) a :: Type Source #

focus :: forall f t a. Focusable f t => t a :-. Focusing f t a Source #

data Location a Source #

Constructors

Root a 
Head a 
Instances
Focusable (Root :: Type -> Location Type) Rose Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Focusing Root Rose a :: Type Source #

(forall a. Chain a) => Focusable (Root :: Type -> Location Type) Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focusing Root Binary a :: Type Source #

Focusable (Head :: Type -> Location Type) Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Associated Types

type Focusing Head Stack a :: Type Source #

Focusable (Root :: Type -> Location Type) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focusing Root (Construction Wye) a :: Type Source #

Focusable (Root :: Type -> Location Type) (Construction Stack) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Focusing Root (Construction Stack) a :: Type Source #

Focusable (Head :: Type -> Location Type) (Construction Maybe) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Associated Types

type Focusing Head (Construction Maybe) a :: Type Source #

type Focusing (Root :: Type -> Location Type) Rose a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Focusing (Root :: Type -> Location Type) Rose a = Maybe a
type Focusing (Root :: Type -> Location Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Focusing (Root :: Type -> Location Type) Binary a = Maybe a
type Focusing (Head :: Type -> Location Type) Stack a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

type Focusing (Head :: Type -> Location Type) Stack a = Maybe a
type Focusing (Root :: Type -> Location Type) (Construction Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Focusing (Root :: Type -> Location Type) (Construction Wye) a = a
type Focusing (Root :: Type -> Location Type) (Construction Stack) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Focusing (Root :: Type -> Location Type) (Construction Stack) a = a
type Focusing (Head :: Type -> Location Type) (Construction Maybe) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

type Focusing (Head :: Type -> Location Type) (Construction Maybe) a = a