bishbosh-0.0.0.2: 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.

Minimal complete definition

reflectOnX

Methods

reflectOnX Source #

Arguments

:: a 
-> a

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

Instances

ReflectableOnX Direction Source # 
ReflectableOnX turn => ReflectableOnX (TurnsByLogicalColour turn) Source # 
(Ord position, ReflectableOnX position) => ReflectableOnX (InstancesByPosition position) Source # 
ReflectableOnX (CastleableRooksByLogicalColour x) Source # 
Enum y => ReflectableOnX (Coordinates x y) Source # 
Enum y => ReflectableOnX (Move x y) Source # 

Methods

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

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

Methods

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

Enum y => ReflectableOnX (QualifiedMove x y) Source # 
Enum y => ReflectableOnX (Turn x y) Source # 

Methods

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

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

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 #

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.

Minimal complete definition

reflectOnY

Methods

reflectOnY Source #

Arguments

:: a 
-> a

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