Changelog for toolshed-0.18.0.2
2010-11-18 Dr. Alistair Ward toolshed@functionalley.com
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&nCrfrom 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.Optionsfrom it.
0.11.1.0
- Added functions
merge&mergeByto module "ToolShed.ListPlus" & exported a new type-synonymToolShed.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
OrdfromToolShed.ListPus.mergeBy& reimplementedToolShed.ListPus.mergein terms ofToolShed.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.groupComparingwith the more usefulToolShed.Data.List.equalityBy, which can be used with eitherData.List.groupByorData.List.nubBy. - Added instances of
ToolShed.SelfValidate.SelfValidatorforData.Maybe.Maybe(,),Data.Set.Set,Data.Map.Map&Data.Array.IArray.Array. - Added instance of
ToolShed.Defaultable.Defaultablefor(,). - Added functions
ToolShed.Data.List.showListWith,ToolShed.Data.List.permutations,ToolShed.Data.List.gatherBy,src-lib/ToolShed/Test/ReversibleIO.hsToolShed.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 functionsToolShed.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.locateto deal with absolute file-paths. - Replaced legacy calls to
Data.Map.fold&Data.Set.fold, with more expicit calls toData.Map.foldr&Data.Set.foldrfrom a more recent version of the containers package. - Added instance of
ToolShed.SelfValidate.SelfValidatorfor(,,). - Trapped null list in
ToolShed.System.Random.select. - Added functions
ToolShed.Data.List.nub'& 'ToolShed.Data.List.hasDuplicates'. - Migrated functions
gather,gatherBy,hasDuplicateswhich merely operate onData.Foldable.Foldabletypes 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& functionToolShed.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
errorfrom inside the IO-monad, withControl.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.throwwithControl.Exception.throwIO. - Replaced all instances of
(<$>)withfmapto 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.Arbitraryfor 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.ExitSuccesswithSystem.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.
0.18.0.0
- Removed single-function module ToolShed.Data.Array.IArray.
- Refactoring of ToolShed.Data.Foldable.hasDuplicates, for which quickchecks were then added.
- Added mutators to ToolShed.Data.Triple & ToolShed.Data.Quadruple.
0.18.0.1
Changed references to author's domain-name.
0.18.0.2
Updated list of test-compilers.