Copyright | (c) Mario Lang 2021 |
---|---|
License | BSD3 |
Maintainer | mlang@blind.guru |
Stability | experimental |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Types and functions to name chess positions according to the opening used.
Two commonly used file formats for opening classification are supported.
Synopsis
- data ECO
- data Opening = CO {}
- defaultECO :: ECO
- lookup :: Position -> ECO -> Maybe Opening
- fromList :: [Opening] -> ECO
- toList :: ECO -> [Opening]
- fromPGN :: PGN -> ECO
- readECOPGNFile :: MonadIO m => FilePath -> m (Either String ECO)
- readSCIDECOFile :: MonadIO m => FilePath -> m (Either String ECO)
- scid :: Parser ECO
- embedECO :: FileReader -> FilePath -> SpliceQ ECO
- ecoPgn :: FileReader
- scidEco :: FileReader
Data types
Encyclopedia of Chess Openings
A Chess Opening
Instances
Generic Opening Source # | |
Show Opening Source # | |
Binary Opening Source # | |
NFData Opening Source # | |
Defined in Game.Chess.Internal.ECO | |
Eq Opening Source # | |
Hashable Opening Source # | |
Defined in Game.Chess.Internal.ECO | |
Lift Opening Source # | |
type Rep Opening Source # | |
Defined in Game.Chess.Internal.ECO type Rep Opening = D1 ('MetaData "Opening" "Game.Chess.Internal.ECO" "chessIO-0.9.3.1-FhorHdlbYNXK07vrmB8ltu" 'False) (C1 ('MetaCons "CO" 'PrefixI 'True) ((S1 ('MetaSel ('Just "coCode") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "coName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "coVariation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "coPlies") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector Ply))))) |
defaultECO :: ECO Source #
Query
Conversion
Parsing eco.pgn files
fromPGN :: PGN -> ECO Source #
Convert a PGN database to ECO assuming the ECO, Opening and Variation tags are being used to identify chess openings.