Changelog for bishbosh-0.1.1.0

2018-01-01 Dr. Alistair Ward bishbosh@functionalley.com

0.0.0.1

0.0.0.2

0.0.0.3

0.0.0.4

0.0.0.5

0.0.0.6

0.0.0.7

0.0.0.8

0.1.0.0

Bug-fixes:

Features:

New Runtime Cmmands:


Command Purpose
availableMoves to report all available moves from the current position.
maxPositionInstances to reveal the maximum number of instances any available position has been visited.
reversiblePlyCount to count the number of consecutive reversible plies that have been made.

Command-line Options:

Performance:

New Modules:


Module Purpose
Component.CastlingMove Forked from module Component.Move.
Data.Enum Currently single-function.
Data.Foldable Currently single-function.
Property.FixedMembership Defines a class to which sum-types can conform.
StateProperty.Censor Relocated from directory State/.
StateProperty.Mutator defines a class to express the dual implementations within State.Board.
StateProperty.Seeker defines a class to express the dual implementations within State.Board.
Text.Case Forked from Text.ShowList to contain case-related operations.
Text.Prefix Forked from Text.ShowList to define the constant prefixes of log-messages.

Testing:

Refactoring:

0.1.1.0

New Modules:


New Module Purpose
BishBosh.Time.StopWatch Replaces module BishBosh.Data.Time to encapsulate interaction with module Data.Time.Clock.
BishBosh.Time.GameClock Contains two BishBosh.Time.StopWatches to enable module Duel.Process.Intermediary to measure the time used by each player.
BishBosh.Property.Switchable Exports a type-class, which both BishBosh.Time.StopWatch & BishBosh.Time.GameClock implement, to expose their functionality.
BishBosh.Property.SelfValidating Exports a type-class, which both BishBosh.Time.GameClock & Duel.Data.Options implement, to validate themselves.
BishBosh.Type.Countable Defines newtypes to enhance type-safety, replacing type-synonyms for Int. There is a performance-degradation, so this enhancement can be disabled using a new cabal-flag.
BishBosh.Type.Crypto Self-documentation.
BishBosh.Type.Length Replaced the polymorphic type-parameters row & column with newtypes to enhance type-safety.
BishBosh.Type.Mass Self-documentation.
BishBosh.Metric.RankValue Replaced the polymorphic type-parameter rankValue, with a newtype & a smart-constructor to guard permissible bounds.

Duel:

BishBosh: