Changelog of @hackage/toolshed 0.17.0.2

2010-11-18 Dr. Alistair Ward toolshed@functionalley.eu

0.9.0.0

  • First version of the package.

0.10.0.0

  • Created sub-directory "src/ToolShed/" & then modified module-names accordingly.
  • Removed the module "Pair", & relocated its only function to the sole caller in the package "Bridge".
  • Added a makefile.
  • Qualified identifiers used in error-messages.

0.10.0.1

  • Tested with ghc-7.0.1, & conditionally replaced use of the package "parallel" with "deepseq", in the module "TimePure".

0.10.1.0

  • Added ToolShed.Arithmetic.nCr, ToolShed.Options & ToolShed.Package.

0.10.2.0

  • Renamed package "ToolShed" to "toolshed", for compatibility with Debian's .deb-format.

0.11.0.0

  • Added manually controlled flag "llvm" to the .cabal-file.
  • Removed the module "ToolShed.Package", for which "Distribution.Package.PackageIdentifier" is a suitable alternative.
  • Added pragma "NOINLINE" to each function in module "Unsafe".
  • Relocated mean & nCr from ToolShed.Arithmetic, to the package "factory".
  • Added function ListPlus.groupComparing.
  • Changed identifier for type-parameters, to better reflect its role.
  • Relocated the remaining rather pointless functions from the module "ToolShed.Arithmetic" & deleted it.
  • Added module "ToolShed.Defaultable", & derived class ToolShed.Options.Options from it.

0.11.1.0

  • Added functions merge & mergeBy to module "ToolShed.ListPlus" & exported a new type-synonym ToolShed.ListPlus.ChunkLength.
  • Uploaded to Hackage.

0.12.0.0

  • Added modules "ToolShed.TimeAction" to measure the CPU-seconds required for an IO-action, & "Pair".

0.12.0.1

  • Removed unnecessary type-context Ord from ToolShed.ListPus.mergeBy & reimplemented ToolShed.ListPus.merge in terms of ToolShed.ListPus.mergeBy.
  • Added ToolShed.ListPlus.runLengthEncode & ToolShed.ListPlus.runLengthDecode.

0.13.0.0

  • Removed module "ToolShed.Unsafe".
  • Renamed:
    • ToolShed.ListPlus to ToolShed.Data.List
    • ToolShed.Pair to ToolShed.Data.Pair
    • ToolShed.TimeAction to ToolShed.System.TimeAction
    • ToolShed.TimePure to ToolShed.System.TimePure
  • Migrated ToolShed.Data.List.RunLengthCode & associated functions, into a new module "ToolShed.Data.List.Runlength".
  • Migrated ToolShed.Data.List.Splits & associated functions, into a new module "ToolShed.Data.List.Splits".
  • Replaced function ToolShed.Data.List.groupComparing with the more useful ToolShed.Data.List.equalityBy, which can be used with either Data.List.groupBy or Data.List.nubBy.
  • Added instances of ToolShed.SelfValidate.SelfValidator for Data.Maybe.Maybe (,), Data.Set.Set, Data.Map.Map & Data.Array.IArray.Array.
  • Added instance of ToolShed.Defaultable.Defaultable for (,).
  • Added functions
    • ToolShed.Data.List.showListWith,
    • ToolShed.Data.List.permutations,
    • ToolShed.Data.List.gatherBy,src-lib/ToolShed/Test/ReversibleIO.hs
    • ToolShed.Data.List.findConvergenceBy,
    • ToolShed.Data.List.findConvergence,
    • ToolShed.Data.List.gather.
  • Added modules "ToolShed.System.File" & "ToolShed.System.Random".
  • Added method ToolShed.SelfValidate.getErrors, & supporting functions ToolShed.SelfValidate.getFirstErrors & ToolShed.SelfValidate.extractErrors.
  • Create module "**ToolShed.Arbitrary.* **".
  • Added Main, ToolShed.Test.QuickChecks & ToolShed.Test.Data.List to facilitate testing.
  • Removed ToolShed.Data.Pair.both. ReplacedSystemwithSystem.Environment&System.Exit`.
  • Removed dependency on haskell98.

0.14.0.0

  • Defined package's name using program's name, in Main.hs.
  • Checked package "Base" exports Data.Tuple.swap, in ToolShed.Arbitrary.Array.
  • Relocated ToolShed.Arbitrary to ToolShed.Test.QuickCheck.Arbitrary.
  • Added ToolShed.Test.ReversibleBoundedEnum, ToolShed.Test.ReversibleEnum, ToolShed.Test.ReversibleIO, & ToolShed.Test.SelfValidate.
  • Amended ToolShed.System.File.locate to deal with absolute file-paths.
  • Replaced legacy calls to Data.Map.fold & Data.Set.fold, with more expicit calls to Data.Map.foldr & Data.Set.foldr from a more recent version of the containers package.
  • Added instance of ToolShed.SelfValidate.SelfValidator for (,,).
  • Trapped null list in ToolShed.System.Random.select.
  • Added functions ToolShed.Data.List.nub' & 'ToolShed.Data.List.hasDuplicates'.
  • Migrated functions gather, gatherBy, hasDuplicates which merely operate on Data.Foldable.Foldable types from module "ToolShed.Data.List", into new module "ToolShed.Data.Foldable".

0.15.0.0

  • Refactored ToolShed.Test.QuickChecks.
  • Added type ToolShed.Data.List.Matches & function ToolShed.src-lib/ToolShed/Test/ReversibleIO.hsData.List.permutationsBy.
  • Trapped the case of a null list supplied to ToolShed.Data.List.permutationsBy.
  • Re-implemented ToolShed.System.Random.shuffle, using the Fisher-Yates algorithm; which also improved the efficiency.
  • Trapped special cases in ToolShed.System.Random.generateSelection.
  • Added modules ToolShed.Test.System.Random, ToolShed.Data.Triple, ToolShed.Data.Quadruple, ToolShed.Test.Data.Triple, & ToolShed.Test.Data.Quadruple.
  • Explicitly closed standard-input in the executable.
  • Replaced calls to error from inside the IO-monad, with Control.Monad.fail.
  • Added an instance for (,,), to ToolShed.Defaultable.Defaultable.
  • Corrected version-string in Main used in option "--version".
  • Corrected the output of Main.main.optDescrList.printVersion.

0.15.0.1

  • Tested with haskell-platform-2013.2.0.0.
  • Replaced preprocessor-directives with build-depends constraints in the .cabal-file.
  • In module "ToolShed.System.File", replaced Control.Exception.throw with Control.Exception.throwIO.
  • Replaced all instances of (<$>) with fmap to avoid ambigusrc-lib/ToolShed/Test/ReversibleIO.hsity between modules "Control.Applicative" & "Prelude" which (from package "base-4.8") also exports this symbol.

0.16.0.0

  • Corrected the copyright dates in Main.
  • Renamed module "ToolShed.Test.QuickCheck.Arbitrary.ArrayElem" to "ToolShed.Test.QuickCheck.Arbitrary.Array", overwriting the module originally of that name which pointlessly defined an instance of Test.QuickCheck.Arbitrary for an array with an unbounded index.
  • Added Default-language-specification to the .cabal-file.
  • Added file "README.markdown".
  • Converted this file to markdown-format.
  • Replaced System.Exit.exitWith System.Exit.ExitSuccess with System.Exit.exitSuccess.
  • Added module "Test.QuickCheck.Result".
  • Moved the entry-point to the test-suite from module "Main.hs" to "Test.hs" to integrate with cabal.
  • Partitioned the source-files into directories "src-lib" & "src-test", & referenced them individually from the .cabal-file to avoid repeated compilation.

0.17.0.0

  • Corrected the markdown-syntax in this file.
  • Reverted to calling "error" rather than "Control.Monad.fail", since the String-argument for the latter is discarded in Monad-implementations other than IO.
  • Uploaded to GitHub.
  • Simplified file src-test/Main.hs.
  • Relaxed test prop_shuffleDistribution in module ToolShed.Test.System.Random.
  • Added file .travis.yml to control testing by https://docs.travis-ci.com.
  • Added file .ghci.
  • Removed module ToolShed.Defaultable, since Data.Default is a drop-in replacement.
  • Added functions ToolShed.Test.ReversibleIO.readTrailingGarbage & ToolShed.Test.ReversibleIO.readPrependedWhiteSpace.
  • Added function ToolShed.Data.List.interleave with corresponding quickcheck-tests.
  • Added module ToolShed.Test.Ix to facilitate testing instances of class Data.Array.IArray.Ix.
  • Added module ToolShed.Data.Array.IArray.
  • Added function ToolShed.Data.String.deTab.
  • Generalised function ToolShed.System.Random.select to accept any Data.Foldable.Foldable rather than merely a list, & to return Maybe rather than an error on receipt of null.
  • Added fuzzy matching function ToolShed.Data.List.measureJaroDistance & associated HUnit & Quickcheck tests.
  • Tested with ghc-8.0.1.

0.17.0.1

  • Modified Travis-CI configuration.

0.17.0.2

  • Removed -prof from profiling-flags in Cabal-configuration.