bishbosh-0.0.0.5: Plays chess.

Safe HaskellSafe
LanguageHaskell2010

BishBosh.Property.Reflectable

Contents

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
An interface for data which can be transformed by reflection.
Synopsis

Type-classes

class ReflectableOnX a where Source #

An interface which data which can be transformed by reflection about the x-axis, may implement.

Methods

reflectOnX Source #

Arguments

:: a 
-> a

Reflect about the x-axis, i.e. to top to bottom & vice-versa.

Instances
ReflectableOnX Direction Source # 
Instance details

Defined in BishBosh.Attribute.Direction

ReflectableOnX turn => ReflectableOnX (TurnsByLogicalColour turn) Source # 
Instance details

Defined in BishBosh.State.TurnsByLogicalColour

(Ord position, ReflectableOnX position) => ReflectableOnX (InstancesByPosition position) Source # 
Instance details

Defined in BishBosh.State.InstancesByPosition

ReflectableOnX (CastleableRooksByLogicalColour x) Source # 
Instance details

Defined in BishBosh.State.CastleableRooksByLogicalColour

Enum y => ReflectableOnX (Coordinates x y) Source # 
Instance details

Defined in BishBosh.Cartesian.Coordinates

Enum y => ReflectableOnX (Move x y) Source # 
Instance details

Defined in BishBosh.Component.Move

Methods

reflectOnX :: Move x y -> Move x y Source #

(Enum x, Enum y, Ord x, Ord y) => ReflectableOnX (MaybePieceByCoordinates x y) Source # 
Instance details

Defined in BishBosh.State.MaybePieceByCoordinates

(Enum x, Enum y, Ord x, Ord y) => ReflectableOnX (Board x y) Source # 
Instance details

Defined in BishBosh.State.Board

Methods

reflectOnX :: Board x y -> Board x y Source #

Enum y => ReflectableOnX (QualifiedMove x y) Source # 
Instance details

Defined in BishBosh.Component.QualifiedMove

Enum y => ReflectableOnX (Turn x y) Source # 
Instance details

Defined in BishBosh.Component.Turn

Methods

reflectOnX :: Turn x y -> Turn x y Source #

(Enum x, Enum y, Ord x, Ord y) => ReflectableOnX (Position x y) Source # 
Instance details

Defined in BishBosh.State.Position

Methods

reflectOnX :: Position x y -> Position x y Source #

(Enum x, Enum y, Ord x, Ord y, Show x, Show y) => ReflectableOnX (Game x y) Source #
Instance details

Defined in BishBosh.Model.Game

Methods

reflectOnX :: Game x y -> Game x y Source #

class ReflectableOnY a where Source #

An interface which data which can be transformed by reflection about the y-axis, may implement.

Methods

reflectOnY Source #

Arguments

:: a 
-> a

Reflect about the y-axis, i.e. left to right & vice-versa.

Instances
ReflectableOnY Direction Source # 
Instance details

Defined in BishBosh.Attribute.Direction

Enum x => ReflectableOnY (Coordinates x y) Source # 
Instance details

Defined in BishBosh.Cartesian.Coordinates

Enum x => ReflectableOnY (Move x y) Source # 
Instance details

Defined in BishBosh.Component.Move

Methods

reflectOnY :: Move x y -> Move x y Source #

(Enum x, Enum y, Ord x, Ord y) => ReflectableOnY (MaybePieceByCoordinates x y) Source # 
Instance details

Defined in BishBosh.State.MaybePieceByCoordinates

(Enum x, Enum y, Ord x, Ord y) => ReflectableOnY (Board x y) Source # 
Instance details

Defined in BishBosh.State.Board

Methods

reflectOnY :: Board x y -> Board x y Source #