Safe Haskell | None |
---|---|
Language | Haskell2010 |
AUTHOR
- Dr. Alistair Ward
DESCRIPTION
- Defines the data-type which represents the rank of a chess-piece; cf. a row of the board.
- class Promotable a where
- type EvaluateRank rankValue = Rank -> rankValue
- type ByRank = Array Rank
- data Rank
- tag :: String
- flank :: [Rank]
- promotionProspects :: [Rank]
- defaultPromotionRank :: Rank
- plodders :: [Rank]
- fixedAttackRange :: [Rank]
- individuallySufficientMaterial :: [Rank]
- pieces :: [Rank]
- nobility :: [Rank]
- range :: [Rank]
- expendable :: [Rank]
- nDistinctRanks :: NRanks
- compareByLVA :: Ord rankValue => EvaluateRank rankValue -> Rank -> Rank -> Ordering
- listArrayByRank :: IArray a e => [e] -> a Rank e
Type-classes
class Promotable a where Source #
An interface to which data which can represent Pawn
-promotion, can implement.
getMaybePromotionRank :: a -> Maybe Rank Source #
Promotable MoveType Source # | |
Promotable (ICCFNumeric x y) Source # | |
Promotable (Coordinate x y) Source # | |
Promotable (Smith x y) Source # | |
Types
Type-synonyms
type EvaluateRank rankValue = Rank -> rankValue Source #
The type of a function which returns a Rank's value.
Data-types
That part of the difference between chess-pieces which is independent of their logical colour.
Constants
The distinct ranks of the constant ordered range of those pieces of which each side has two.
promotionProspects :: [Rank] Source #
The constant list of distinct rank to which a Pawn
may legally be promoted; though there's no point in promotion to other than Queen
or Knight
.
defaultPromotionRank :: Rank Source #
Constant rank to which a Pawn
is, in the absence of instruction, promoted.
fixedAttackRange :: [Rank] Source #
The subset of ranks which attack over a fixed range.
individuallySufficientMaterial :: [Rank] Source #
The subset of ranks which (unsupported) are sufficient to force checkmate.
The ranks of the constant ordered back row of pieces, including duplicates.
expendable :: [Rank] Source #
Those ranks which can be taken.
nDistinctRanks :: NRanks Source #
The constant number of distinct ranks.
Functions
compareByLVA :: Ord rankValue => EvaluateRank rankValue -> Rank -> Rank -> Ordering Source #
- Compares the rank-value of aggressors.
- N.B.: a
King
is always considered most valuable, regardless of the evaluation-function supplied.
Constructor
listArrayByRank :: IArray a e => [e] -> a Rank e Source #
Array-constructor.