bishbosh-0.1.0.0: Plays chess.
Safe HaskellNone
LanguageHaskell2010

BishBosh.UI.Command

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
Defines the commands a user can issue.
Synopsis

Types

Data-types

data Command x y Source #

The sum-type of commands that a user may issue.

Constructors

Hint

Request a move-suggestion.

Print PrintObject

Print the requested static data.

Quit

Terminate this application.

Report ReportObject

Report on the requested dynamic data.

Resign

Admit defeat.

Restart

Abandon the current game, & start afresh.

RollBack (Maybe NPlies)

Roll-back the optionally specified number of plies.

Save

Persist the current game-state.

Set SetObject

I.E. mutate a configuration-value.

Swap

Swap options between the two sides; which causes the players to swap sides.

Instances

Instances details
Eq (Command x y) Source # 
Instance details

Defined in BishBosh.UI.Command

Methods

(==) :: Command x y -> Command x y -> Bool #

(/=) :: Command x y -> Command x y -> Bool #

Show (Command x y) Source # 
Instance details

Defined in BishBosh.UI.Command

Methods

showsPrec :: Int -> Command x y -> ShowS #

show :: Command x y -> String #

showList :: [Command x y] -> ShowS #

NFData (Command x y) Source # 
Instance details

Defined in BishBosh.UI.Command

Methods

rnf :: Command x y -> () #

Constants

commandPrefix :: Char Source #

Used to distinguish a command from a move.

printTag :: String Source #

Input-format.

restartTag :: String Source #

Input-format.

setTag :: String Source #

Input-format.

usageMessage :: String Source #

A message defining the syntax of the available commands.

Functions

readsCommand :: String -> Either String (Command x y, String) Source #

Reads a command.

showsCommand :: Command x y -> ShowS Source #

Shows a command.

autoComplete :: ShowS Source #

Replace the first word of the specified string with the name of a command of which it is an unambiguous case-insensitive prefix.