Safe Haskell | None |
---|---|
Language | Haskell2010 |
AUTHOR
- Dr. Alistair Ward
DESCRIPTION
- Defines the value for each type of piece, of occupying different squares.
- This metric includes aspects of both control of the centre, & material advantage, in that a side's score can increase either by occupying more valuable squares or simply by having more pieces.
- N.B.: the evaluation of fitness by "material" COULD be entirely built into these tables, so that the average value for a
Queen
is ~9 times that for aPawn
, but under these circumstances a non-zero material value for aKing
must be arbitrarily chosen. - N.B. The normal & end-game phases are typically represented by independent instances.
Synopsis
- data PieceSquareTable x y pieceSquareValue
- tag :: String
- reflectOnYTag :: String
- findUndefinedRanks :: PieceSquareTable x y pieceSquareValue -> Set Rank
- dereference :: (Enum x, Enum y, Ord x, Ord y) => Rank -> PieceSquareTable x y pieceSquareValue -> Maybe [pieceSquareValue]
- mkPieceSquareTable :: (Enum x, Enum y, Num pieceSquareValue, Ord pieceSquareValue, Ord x, Ord y, Show pieceSquareValue) => Bool -> [(Rank, [pieceSquareValue])] -> PieceSquareTable x y pieceSquareValue
Types
Data-types
data PieceSquareTable x y pieceSquareValue Source #
Defines the value for each type of piece, of occupying each square.
Instances
(Enum x, Enum y, Ord x, Ord y, Eq pieceSquareValue) => Eq (PieceSquareTable x y pieceSquareValue) Source # | |
Defined in BishBosh.Input.PieceSquareTable (==) :: PieceSquareTable x y pieceSquareValue -> PieceSquareTable x y pieceSquareValue -> Bool # (/=) :: PieceSquareTable x y pieceSquareValue -> PieceSquareTable x y pieceSquareValue -> Bool # | |
(Enum x, Enum y, Ord x, Ord y, Show x, Show y, Show pieceSquareValue) => Show (PieceSquareTable x y pieceSquareValue) Source # | |
Defined in BishBosh.Input.PieceSquareTable showsPrec :: Int -> PieceSquareTable x y pieceSquareValue -> ShowS # show :: PieceSquareTable x y pieceSquareValue -> String # showList :: [PieceSquareTable x y pieceSquareValue] -> ShowS # | |
Default (PieceSquareTable x y pieceSquareValue) Source # | |
Defined in BishBosh.Input.PieceSquareTable def :: PieceSquareTable x y pieceSquareValue # | |
(Enum x, Enum y, Fractional pieceSquareValue, Ord pieceSquareValue, Ord x, Ord y, Real pieceSquareValue, Show pieceSquareValue) => XmlPickler (PieceSquareTable x y pieceSquareValue) Source # | |
Defined in BishBosh.Input.PieceSquareTable xpickle :: PU (PieceSquareTable x y pieceSquareValue) # | |
(Enum x, Enum y, Ord x, Ord y, Real pieceSquareValue, Show pieceSquareValue) => ShowFloat (PieceSquareTable x y pieceSquareValue) Source # | |
Defined in BishBosh.Input.PieceSquareTable showsFloat :: (Double -> ShowS) -> PieceSquareTable x y pieceSquareValue -> ShowS Source # |
Constants
reflectOnYTag :: String Source #
Used to qualify XML.
Functions
findUndefinedRanks :: PieceSquareTable x y pieceSquareValue -> Set Rank Source #
Identify any rank lacking a definition.
dereference :: (Enum x, Enum y, Ord x, Ord y) => Rank -> PieceSquareTable x y pieceSquareValue -> Maybe [pieceSquareValue] Source #
Lookup the value for the specified rank.