search-algorithms 0.3.4 → 0.3.5
raw patch · 3 files changed
+13/−5 lines, 3 filesdep ~containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: containers
API changes (from Hackage documentation)
Files
- CHANGELOG.md +6/−0
- search-algorithms.cabal +2/−2
- src/Algorithm/Search.hs +5/−3
CHANGELOG.md view
@@ -4,6 +4,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [0.3.5] - 2026-10-24+- Bump version for `containers` dependency.+- Clean up some GHC warnings.+- Add `hie.yaml`.+ ## [0.3.4] - 2025-06-28 - Add `dijkstraAssocCost` and `dijstraAssocCostM`, which make it easier to handle path-dependent costs.@@ -38,6 +43,7 @@ ## 0.1.0 - 2017-03-07 - Initial release +[0.3.5]: https://github.com/devonhollowood/search-algorithms/compare/v0.3.4...v0.3.5 [0.3.4]: https://github.com/devonhollowood/search-algorithms/compare/v0.3.3...v0.3.4 [0.3.3]: https://github.com/devonhollowood/search-algorithms/compare/v0.3.2...v0.3.3 [0.3.2]: https://github.com/devonhollowood/search-algorithms/compare/v0.3.1...v0.3.2
search-algorithms.cabal view
@@ -1,5 +1,5 @@ name: search-algorithms-version: 0.3.4+version: 0.3.5 synopsis: Common graph search algorithms description: Library containing common graph search algorithms, including depth-first and breadth-first searches,@@ -20,7 +20,7 @@ hs-source-dirs: src exposed-modules: Algorithm.Search build-depends: base >= 4.7 && < 5- , containers >= 0.5 && < 0.8+ , containers >= 0.5 && < 0.9 ghc-options: -Wall default-language: Haskell2010
src/Algorithm/Search.hs view
@@ -527,7 +527,8 @@ -- incremental costs -> [cost] -- ^ List of incremental costs along given path-incrementalCosts cost_fn states = zipWith cost_fn states (tail states)+incrementalCosts _cost_fn [] = []+incrementalCosts cost_fn states@(_first:rest) = zipWith cost_fn states rest -- | @incrementalCostsM@ is a monadic version of 'incrementalCosts': it has -- support for a monadic @const_fn@ parameter.@@ -542,7 +543,8 @@ -- incremental costs -> m [cost] -- ^ List of incremental costs along given path-incrementalCostsM costM states = zipWithM costM states (tail states)+incrementalCostsM _costM [] = return []+incrementalCostsM costM states@(_first:rest) = zipWithM costM states rest -- | @next \`pruning\` predicate@ streams the elements generate by @next@ into a@@ -756,7 +758,7 @@ | Map.null inner = Nothing | otherwise = case Map.findMin inner of (k, [a]) -> Just ((k, a), LIFOHeap $ Map.deleteMin inner)- (k, a : _) -> Just ((k, a), LIFOHeap $ Map.updateMin (Just . tail) inner)+ (k, a : _) -> Just ((k, a), LIFOHeap $ Map.updateMin (Just . drop 1) inner) (_, []) -> pop (LIFOHeap $ Map.deleteMin inner) -- Logically, this should never happen push (LIFOHeap inner) (k, a) = LIFOHeap $ Map.insertWith (++) k [a] inner