cabal-version: 2.4 -- This file is part of BishBosh. -- -- BishBosh is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- -- BishBosh is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with BishBosh. If not, see . Name: bishbosh Version: 0.1.1.0 Copyright: (C) 2018 Dr. Alistair Ward License: GPL-3.0-or-later License-file: LICENSE Author: Dr. Alistair Ward Stability: stable Synopsis: Plays chess. Build-type: Simple Description: A chess-game which can be rendered in a terminal (emulator) in raw ASCII, or used as an engine by xboard. Category: Game Tested-with: GHC == 8.0, GHC == 8.4, GHC == 8.8, GHC == 8.10 Homepage: https://functionalley.com/BishBosh/bishbosh.html Maintainer: mailto:bishbosh@functionalley.com Bug-reports: mailto:bishbosh@functionalley.com -- Files which can be located by the application using 'Paths_bishbosh.datadir'. Data-files: config/bishbosh.dtd config/bishbosh.rng config/CECP/*.xml config/Raw/*.xml config/*.xml pgn/*.pgn pgn/*.pgn.gz -- Files which are packaged, but not required at runtime. Extra-source-files: .ghci bishbosh.spec changelog.markdown copyright makefile man/man1/bishbosh.1 man/man1/duel.1 man/man5/bishbosh.5 README.markdown source-repository head type: git location: https://github.com/functionalley/BishBosh -- Enable using: 'runhaskell Setup configure -f llvm --verbose'. flag llvm Description: Whether the 'llvm' compiler-backend has been installed and is required for code-generation. Manual: True Default: False -- Automatically disabled when the required package isn't available. -- To access Parsec's more precise error-messages, manually disable using one of: -- runhaskell Setup configure -f -polyparse --verbose; -- stack build --flag 'bishbosh:-polyparse' --cabal-verbose; flag polyparse Description: Link with package "polyparse" when available, rather than "parsec". Default: True -- Automatically disabled when the required package isn't available. -- To force validation of the XML-configuration against the packaged DTD, manually disable using one of: -- runhaskell Setup configure -f -hxtrelaxng --verbose; -- stack build --flag 'bishbosh:-hxtrelaxng' --cabal-verbose; flag hxtrelaxng Description: Link with package "hxt-relaxng" when available, for more precise specification of the XML-configuration than a traditional DTD. Default: True -- Whether to use narrower numerical types than machine-defaults. CAVEAT: this option increases both the space allocated & the execution-time. flag narrownumbers Description: Use narrow numerical types. Manual: True Default: False -- Whether, to wrap common types in 'newtype' for increased type-safety. CAVEAT: there's a ~10% performance-penalty. flag newtypewrappers Description: Wrap common types in newtype for increased type-safety. Manual: True Default: False -- Concurrency is used to implement Pondering, & parallelism is used when searching through archived games. flag threaded Description: Build for parallel runtime. Manual: True Default: True -- Whether to use unboxed arrays where possible. flag unboxedarrays Description: Use unboxed arrays. Manual: True Default: False -- Automatically disabled when the required package isn't available. -- CAVEAT: on MS-Windows, it may be available but won't necessarily build, so specify "-f -unix --verbose" when configuring the package. flag unix Description: Link with package "unix" when available. Default: True Library Default-language: Haskell2010 GHC-options: -O2 -Wall -fno-warn-tabs -fno-warn-unused-top-binds -Wno-all-missed-specialisations Hs-source-dirs: src-lib Exposed-modules: BishBosh.Attribute.CaptureMoveSortAlgorithm BishBosh.Attribute.ColourScheme BishBosh.Attribute.Direction BishBosh.Attribute.LogicalColour BishBosh.Attribute.LogicalColourOfSquare BishBosh.Attribute.MoveType BishBosh.Attribute.PhysicalColour BishBosh.Attribute.Rank BishBosh.Cartesian.Abscissa BishBosh.Cartesian.Coordinates BishBosh.Cartesian.Ordinate BishBosh.Cartesian.Vector BishBosh.Component.CastlingMove BishBosh.Component.EitherQualifiedMove BishBosh.Component.Move BishBosh.Component.Piece BishBosh.Component.PieceSquareByCoordinatesByRank BishBosh.Component.QualifiedMove BishBosh.Component.Turn BishBosh.Component.Zobrist BishBosh.ContextualNotation.PGN BishBosh.ContextualNotation.PGNComment BishBosh.ContextualNotation.PGNDatabase BishBosh.ContextualNotation.PositionHashQualifiedMoveTree BishBosh.ContextualNotation.QualifiedMoveForest BishBosh.ContextualNotation.StandardAlgebraic BishBosh.Data.Bool BishBosh.Data.Either BishBosh.Data.Enum BishBosh.Data.Exception BishBosh.Data.Foldable BishBosh.Data.Integral BishBosh.Data.List BishBosh.Data.Num BishBosh.Data.Ratio BishBosh.Data.RoseTree BishBosh.Evaluation.Fitness BishBosh.Evaluation.PositionHashQuantifiedGameTree BishBosh.Evaluation.QuantifiedGame BishBosh.Input.CategorisedCommandLineOptions BishBosh.Input.CECPFeatures BishBosh.Input.CECPOptions BishBosh.Input.CommandLineOption BishBosh.Input.CriteriaWeights BishBosh.Input.EvaluationOptions BishBosh.Input.IOOptions BishBosh.Input.NativeUIOptions BishBosh.Input.Options BishBosh.Input.PGNOptions BishBosh.Input.PieceSquareTable BishBosh.Input.RankValues BishBosh.Input.SearchOptions BishBosh.Input.StandardOpeningOptions BishBosh.Input.UIOptions BishBosh.Input.Verbosity BishBosh.Metric.CriterionValue BishBosh.Metric.CriterionWeight BishBosh.Metric.RankValue BishBosh.Metric.WeightedMeanAndCriterionValues BishBosh.Model.Game BishBosh.Model.GameTree BishBosh.Model.MoveFrequency BishBosh.Model.PositionHashTree BishBosh.Notation.ICCFNumeric BishBosh.Notation.MoveNotation BishBosh.Notation.PureCoordinate BishBosh.Notation.Smith BishBosh.Property.Arboreal BishBosh.Property.Empty BishBosh.Property.ExtendedPositionDescription BishBosh.Property.FixedMembership BishBosh.Property.ForsythEdwards BishBosh.Property.Null BishBosh.Property.Opposable BishBosh.Property.Orientated BishBosh.Property.Reflectable BishBosh.Property.Rotatable BishBosh.Property.SelfValidating BishBosh.Property.ShowFloat BishBosh.Property.Switchable BishBosh.Rule.DrawReason BishBosh.Rule.GameTerminationReason BishBosh.Rule.Result BishBosh.Search.AlphaBeta BishBosh.Search.DynamicMoveData BishBosh.Search.EphemeralData BishBosh.Search.KillerMoves BishBosh.Search.Search BishBosh.Search.SearchState BishBosh.Search.Transpositions BishBosh.Search.TranspositionValue BishBosh.State.Board BishBosh.State.CastleableRooksByLogicalColour BishBosh.State.CoordinatesByRankByLogicalColour BishBosh.State.EnPassantAbscissa BishBosh.State.InstancesByPosition BishBosh.State.MaybePieceByCoordinates BishBosh.State.Position BishBosh.StateProperty.Censor BishBosh.StateProperty.Mutator BishBosh.StateProperty.Seeker BishBosh.State.TurnsByLogicalColour BishBosh.Text.AutoComplete BishBosh.Text.Case BishBosh.Text.Encoding BishBosh.Text.ShowList BishBosh.Text.ShowPrefix BishBosh.Time.GameClock BishBosh.Time.StopWatch BishBosh.Type.Count BishBosh.Type.Crypto BishBosh.Type.Length BishBosh.Type.Mass BishBosh.UI.Command BishBosh.UI.PrintObject BishBosh.UI.ReportObject BishBosh.UI.SetObject Build-depends: array >= 0.5.1.1, base >= 4.9 && < 5.0, containers, data-default, deepseq >= 1.4.1, extra, factory >= 0.3.1, filepath, hxt, mtl, process >= 1.6.4, random, time, toolshed >= 0.18 if impl(ghc >= 7.0) if flag(llvm) GHC-options: -fllvm if impl(ghc >= 7.4.1) GHC-prof-options: -fprof-auto -fprof-cafs if flag(threaded) GHC-prof-options: -fno-prof-count-entries if impl(ghc >= 8.0) GHC-options: -Wredundant-constraints else GHC-prof-options: -auto-all -caf-all if flag(polyparse) Build-depends: polyparse CPP-Options: -DUSE_POLYPARSE=2 Exposed-modules: BishBosh.Text.Poly else Build-depends: parsec if flag(narrownumbers) CPP-Options: -DUSE_NARROW_NUMBERS if flag(newtypewrappers) CPP-Options: -DUSE_NEWTYPE_WRAPPERS if flag(threaded) Build-depends: parallel >= 3.0 CPP-Options: -DUSE_PARALLEL if flag(unboxedarrays) CPP-Options: -DUSE_UNBOXED_ARRAYS Executable bishbosh Default-language: Haskell2010 GHC-options: -O2 -Wall -fno-warn-tabs Hs-source-dirs: src-exe Main-is: Main.hs Autogen-modules: Paths_bishbosh Other-modules: BishBosh.Concurrent.Pondering BishBosh.Play BishBosh.State.ApplicationTerminationReason BishBosh.State.PlayState BishBosh.Text.ShowColouredPrefix BishBosh.UI.CECP BishBosh.UI.Raw Paths_bishbosh if flag(unix) Other-modules: BishBosh.Concurrent.SignalHandlers Build-depends: array >= 0.5.1.1, base >= 4.9 && < 5.0, bishbosh, containers, data-default, deepseq >= 1.4.1, directory, extra, factory >= 0.3.1, filepath, hxt, mtl, random, toolshed >= 0.18 if impl(ghc >= 7.0) if flag(llvm) GHC-options: -fllvm if flag(threaded) GHC-options: -rtsopts "-with-rtsopts=-N -H100M" if impl(ghc >= 7.4.1) GHC-prof-options: -fprof-auto -fprof-cafs -rtsopts -with-rtsopts=-H100M if flag(threaded) GHC-prof-options: -fno-prof-count-entries if impl(ghc >= 8.0) GHC-options: -Wredundant-constraints else GHC-prof-options: -auto-all -caf-all if flag(hxtrelaxng) Build-depends: hxt-relaxng CPP-Options: -DUSE_HXTRELAXNG if flag(narrownumbers) CPP-Options: -DUSE_NARROW_NUMBERS if flag(threaded) CPP-Options: -DUSE_PARALLEL GHC-options: -threaded if flag(unboxedarrays) CPP-Options: -DUSE_UNBOXED_ARRAYS -- N.B.: The Haskell package 'unix' may be available on MS-Windows, but building it will probably be laborious. if flag(unix) Other-modules: BishBosh.Concurrent.SignalHandlers Build-depends: unix CPP-Options: -DUSE_UNIX -- This application coordinates a duel between two independently configured instances of 'bishbosh'. Executable duel Default-language: Haskell2010 GHC-options: -O2 -Wall -fno-warn-tabs Hs-source-dirs: src-exe Main-is: Duel.hs Autogen-modules: Paths_bishbosh Other-modules: Duel.Data.Options Duel.IO.Logger Duel.Process.Handles Duel.Process.Intermediary Paths_bishbosh Build-depends: base >= 4.9 && < 5.0, bishbosh, containers, data-default, filepath, hxt, process >= 1.6.4 CPP-Options: -DMOVE_NOTATION='S' if impl(ghc >= 7.0) if flag(llvm) GHC-options: -fllvm if impl(ghc >= 8.0) GHC-options: -Wredundant-constraints -- Static unit-tests of the library. Test-Suite hunit-tests Default-language: Haskell2010 GHC-options: -Wall -fno-warn-tabs Hs-source-dirs: src-test Main-is: HUnit.hs Type: exitcode-stdio-1.0 Autogen-modules: Paths_bishbosh Other-modules: BishBosh.Test.HUnit.Attribute.Direction BishBosh.Test.HUnit.Attribute.LogicalColour BishBosh.Test.HUnit.Attribute.Rank BishBosh.Test.HUnit.Cartesian.Coordinates BishBosh.Test.HUnit.Cartesian.Vector BishBosh.Test.HUnit.Component.CastlingMove BishBosh.Test.HUnit.Component.Move BishBosh.Test.HUnit.Component.Piece BishBosh.Test.HUnit.Component.Zobrist BishBosh.Test.HUnit.ContextualNotation.PGN BishBosh.Test.HUnit.ContextualNotation.PositionHashQualifiedMoveTree BishBosh.Test.HUnit.ContextualNotation.StandardAlgebraic BishBosh.Test.HUnit.Evaluation.Fitness BishBosh.Test.HUnit.Input.Options BishBosh.Test.HUnit.Model.Game BishBosh.Test.HUnit.Model.GameTree BishBosh.Test.HUnit.Model.PositionHashTree BishBosh.Test.HUnit.Search.Search BishBosh.Test.HUnit.State.Board BishBosh.Test.HUnit.Text.AutoComplete BishBosh.Test.HUnit.Time.GameClock BishBosh.Test.HUnit.Time.StopWatch Paths_bishbosh Build-depends: array >= 0.5.1.1, base >= 4.9 && < 5.0, bishbosh, containers, data-default, filepath, HUnit, hxt, mtl, random, toolshed >= 0.18 if impl(ghc >= 8.0) GHC-options: -Wredundant-constraints if flag(polyparse) Build-depends: polyparse CPP-Options: -DUSE_POLYPARSE=2 else Build-depends: parsec -- Random unit-tests of the library. Test-Suite quickcheck-tests Default-language: Haskell2010 GHC-options: -Wall -fno-warn-tabs Hs-source-dirs: src-test Main-is: QuickCheck.hs Type: exitcode-stdio-1.0 Other-modules: BishBosh.Test.QuickCheck.Attribute.CaptureMoveSortAlgorithm BishBosh.Test.QuickCheck.Attribute.Direction BishBosh.Test.QuickCheck.Attribute.LogicalColour BishBosh.Test.QuickCheck.Attribute.MoveType BishBosh.Test.QuickCheck.Attribute.Rank BishBosh.Test.QuickCheck.Cartesian.Coordinates BishBosh.Test.QuickCheck.Cartesian.Vector BishBosh.Test.QuickCheck.Component.Move BishBosh.Test.QuickCheck.Component.Piece BishBosh.Test.QuickCheck.Component.QualifiedMove BishBosh.Test.QuickCheck.Component.Turn BishBosh.Test.QuickCheck.Component.Zobrist BishBosh.Test.QuickCheck.ContextualNotation.PGN BishBosh.Test.QuickCheck.ContextualNotation.PGNComment BishBosh.Test.QuickCheck.ContextualNotation.PositionHashQualifiedMoveTree BishBosh.Test.QuickCheck.ContextualNotation.QualifiedMoveForest BishBosh.Test.QuickCheck.ContextualNotation.StandardAlgebraic BishBosh.Test.QuickCheck.Data.Foldable BishBosh.Test.QuickCheck.Data.Integral BishBosh.Test.QuickCheck.Evaluation.PositionHashQuantifiedGameTree BishBosh.Test.QuickCheck.Input.CECPFeatures BishBosh.Test.QuickCheck.Input.CECPOptions BishBosh.Test.QuickCheck.Input.CriteriaWeights BishBosh.Test.QuickCheck.Input.EvaluationOptions BishBosh.Test.QuickCheck.Input.IOOptions BishBosh.Test.QuickCheck.Input.NativeUIOptions BishBosh.Test.QuickCheck.Input.Options BishBosh.Test.QuickCheck.Input.PGNOptions BishBosh.Test.QuickCheck.Input.PieceSquareTable BishBosh.Test.QuickCheck.Input.RankValues BishBosh.Test.QuickCheck.Input.SearchOptions BishBosh.Test.QuickCheck.Input.StandardOpeningOptions BishBosh.Test.QuickCheck.Input.UIOptions BishBosh.Test.QuickCheck.Input.Verbosity BishBosh.Test.QuickCheck.Metric.CriterionWeight BishBosh.Test.QuickCheck.Metric.RankValue BishBosh.Test.QuickCheck.Model.Game BishBosh.Test.QuickCheck.Model.GameTree BishBosh.Test.QuickCheck.Model.MoveFrequency BishBosh.Test.QuickCheck.Notation.ICCFNumeric BishBosh.Test.QuickCheck.Notation.MoveNotation BishBosh.Test.QuickCheck.Notation.PureCoordinate BishBosh.Test.QuickCheck.Notation.Smith BishBosh.Test.QuickCheck.Rule.DrawReason BishBosh.Test.QuickCheck.Rule.GameTerminationReason BishBosh.Test.QuickCheck.Rule.Result BishBosh.Test.QuickCheck.Search.KillerMoves BishBosh.Test.QuickCheck.Search.Search BishBosh.Test.QuickCheck.Search.SearchState BishBosh.Test.QuickCheck.State.Board BishBosh.Test.QuickCheck.State.CastleableRooksByLogicalColour BishBosh.Test.QuickCheck.State.InstancesByPosition BishBosh.Test.QuickCheck.State.Position BishBosh.Test.QuickCheck.StateProperty.Censor BishBosh.Test.QuickCheck.State.TurnsByLogicalColour BishBosh.Test.QuickCheck.Text.Encoding BishBosh.Test.QuickCheck.Time.StopWatch BishBosh.Test.QuickCheck.UI.Command BishBosh.Test.QuickCheck.UI.PrintObject BishBosh.Test.QuickCheck.UI.ReportObject BishBosh.Test.QuickCheck.UI.SetObject Build-depends: array >= 0.5.1.1, base >= 4.9 && < 5.0, bishbosh, containers, data-default, deepseq >= 1.4.1, extra, filepath, mtl, QuickCheck >= 2.8.2, random, toolshed >= 0.18 if impl(ghc >= 8.0) GHC-options: -Wredundant-constraints if flag(polyparse) Build-depends: polyparse CPP-Options: -DUSE_POLYPARSE=2 else Build-depends: parsec if flag(threaded) CPP-Options: -DUSE_PARALLEL GHC-options: -threaded