Changelog for toolshed-0.13.0.0

2010-11-18 Dr. Alistair Ward <toolshed at functionalley dot eu> 0.9.0.0 * First version of the package. 0.10.0.0 * Created "src/ToolShed/" sub-directory & then modified module-names accordingly. * Removed the module "Pair", and 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" and "ToolShed.Package". 0.10.2.0 * Renamed package from 'ToolShed' to 'toolshed', for compatibility with Debian's ".deb"-format. 0.11.0.0 * Added manually controlled "llvm" flag to "toolshed.cabal". * Removed the module "ToolShed.Package", for which 'Distribution.Package.PackageIdentifier' is a suitable alternative. * Added 'NOINLINE' pragma to each function in module "Unsafe". * Relocated 'mean' and '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" and deleted it. * Added module "ToolShed.Defaultable", and derived class 'ToolShed.Options.Options' from it. 0.11.1.0 * Added functions 'merge' and 'mergeBy' to module "ToolShed.ListPlus" and exported a new type-synonym 'ToolShed.ListPlus.ChunkLength'. * Uploaded to <http://hackage.haskell.org/packages/hackage.html>. 0.12.0.0 * Added module "ToolShed.TimeAction" to measure the CPU-seconds required for an IO-action. * Added module "Pair". 0.12.0.1 * Removed unnecessary type-context 'Ord' from 'ToolShed.ListPus.mergeBy' and reimplemented 'ToolShed.ListPus.merge' in terms of 'ToolShed.ListPus.mergeBy'. * Added 'ToolShed.ListPlus.runLengthEncode' and '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' and associated functions, into a new module "ToolShed.Data.List.Runlength". * Migrated 'ToolShed.Data.List.Splits' and 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' and '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', 'ToolShed.Data.List.findConvergenceBy', 'ToolShed.Data.List.findConvergence', 'ToolShed.Data.List.gather'. * Added module "ToolShed.System.File". * Added module "ToolShed.System.Random". * Added method 'ToolShed.SelfValidate.getErrors', and supporting functions 'ToolShed.SelfValidate.getFirstErrors' and 'ToolShed.SelfValidate.extractErrors'. * Create module "ToolShed.Arbitrary.*". * Added "Main", "ToolShed.Test.QuickChecks" and "ToolShed.Test.Data.List" to facilitate testing. * Removed 'ToolShed.Data.Pair.both'. * Replaced "System" with "System.Environment" and "System.Exit". * Removed dependency on "haskell98".