bishbosh-0.1.3.0: Plays chess.
Safe HaskellNone
LanguageHaskell2010

BishBosh.StateProperty.Hashable

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
  • Defines the random-numbers required to construct a hash of a chess-position.
  • Facilitates the construction of a hash from arbitrary data.
Synopsis

Type-classes

class Hashable hashable where Source #

An interface to which hashable data can conform.

Methods

listRandoms :: Zobrist positionHash -> hashable -> [positionHash] Source #

Instances

Instances details
Hashable MaybePieceByCoordinates Source # 
Instance details

Defined in BishBosh.State.MaybePieceByCoordinates

Methods

listRandoms :: Zobrist positionHash -> MaybePieceByCoordinates -> [positionHash] Source #

Hashable EnPassantAbscissa Source # 
Instance details

Defined in BishBosh.State.EnPassantAbscissa

Methods

listRandoms :: Zobrist positionHash -> EnPassantAbscissa -> [positionHash] Source #

Hashable CoordinatesByRankByLogicalColour Source # 
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

Methods

listRandoms :: Zobrist positionHash -> CoordinatesByRankByLogicalColour -> [positionHash] Source #

Hashable Board Source # 
Instance details

Defined in BishBosh.State.Board

Methods

listRandoms :: Zobrist positionHash -> Board -> [positionHash] Source #

Hashable CastleableRooksByLogicalColour Source #

Get the list of random numbers required to represent the current castling potential.

Instance details

Defined in BishBosh.State.CastleableRooksByLogicalColour

Methods

listRandoms :: Zobrist positionHash -> CastleableRooksByLogicalColour -> [positionHash] Source #

Hashable Position Source # 
Instance details

Defined in BishBosh.State.Position

Methods

listRandoms :: Zobrist positionHash -> Position -> [positionHash] Source #

Hashable Game Source # 
Instance details

Defined in BishBosh.Model.Game

Methods

listRandoms :: Zobrist positionHash -> Game -> [positionHash] Source #

Hashable a => Hashable [a] Source # 
Instance details

Defined in BishBosh.StateProperty.Hashable

Methods

listRandoms :: Zobrist positionHash -> [a] -> [positionHash] Source #

Hashable a => Hashable (Maybe a) Source # 
Instance details

Defined in BishBosh.StateProperty.Hashable

Methods

listRandoms :: Zobrist positionHash -> Maybe a -> [positionHash] Source #

(Hashable l, Hashable r) => Hashable (l, r) Source # 
Instance details

Defined in BishBosh.StateProperty.Hashable

Methods

listRandoms :: Zobrist positionHash -> (l, r) -> [positionHash] Source #

(Hashable f, Hashable s, Hashable t) => Hashable (f, s, t) Source # 
Instance details

Defined in BishBosh.StateProperty.Hashable

Methods

listRandoms :: Zobrist positionHash -> (f, s, t) -> [positionHash] Source #

Constants

Functions

hash :: (Bits positionHash, Hashable hashable) => Zobrist positionHash -> hashable -> positionHash Source #

Resolve a hashable into a hash.

combine :: Bits positionHash => positionHash -> [positionHash] -> positionHash Source #

Include a list of random numbers in the hash.