large-hashable 0.1.2.0 → 0.1.3.0
raw patch · 7 files changed
+25/−37 lines, 7 filesdep −cryptondep −memorydep −voidPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies removed: crypton, memory, void
API changes (from Hackage documentation)
+ Data.LargeHashable: ($dmupdateHash) :: (LargeHashable a, GenericLargeHashable (Rep a), Generic a) => a -> LH ()
+ Data.LargeHashable: ($dmupdateHashStable) :: (LargeHashable a, GenericLargeHashable (Rep a), Generic a) => a -> LH ()
+ Data.LargeHashable.Class: ($dmupdateHash) :: (LargeHashable a, GenericLargeHashable (Rep a), Generic a) => a -> LH ()
+ Data.LargeHashable.Class: ($dmupdateHashStable) :: (LargeHashable a, GenericLargeHashable (Rep a), Generic a) => a -> LH ()
- Data.LargeHashable: class LargeHashable' t
+ Data.LargeHashable: class LargeHashable' (t :: Type -> Type)
- Data.LargeHashable: updateHash :: (LargeHashable a, GenericLargeHashable (Rep a), Generic a) => a -> LH ()
+ Data.LargeHashable: updateHash :: LargeHashable a => a -> LH ()
- Data.LargeHashable: updateHashStable :: (LargeHashable a, GenericLargeHashable (Rep a), Generic a) => a -> LH ()
+ Data.LargeHashable: updateHashStable :: LargeHashable a => a -> LH ()
- Data.LargeHashable.Class: class LargeHashable' t
+ Data.LargeHashable.Class: class LargeHashable' (t :: Type -> Type)
- Data.LargeHashable.Class: updateHash :: (LargeHashable a, GenericLargeHashable (Rep a), Generic a) => a -> LH ()
+ Data.LargeHashable.Class: updateHash :: LargeHashable a => a -> LH ()
- Data.LargeHashable.Class: updateHashList :: forall a. (a -> LH ()) -> [a] -> LH ()
+ Data.LargeHashable.Class: updateHashList :: (a -> LH ()) -> [a] -> LH ()
- Data.LargeHashable.Class: updateHashStable :: (LargeHashable a, GenericLargeHashable (Rep a), Generic a) => a -> LH ()
+ Data.LargeHashable.Class: updateHashStable :: LargeHashable a => a -> LH ()
Files
- ChangeLog +4/−0
- large-hashable.cabal +10/−13
- src/Data/LargeHashable/Class.hs +3/−6
- stack-ghc-9.10.yaml +7/−0
- stack-ghc-9.2.yaml +0/−10
- stack-ghc-9.4.yaml +0/−7
- stack.yaml +1/−1
ChangeLog view
@@ -1,3 +1,7 @@+0.1.3.0: 2026-07-01+ * drop unused dependencies (memory, bytes, crypton, transformers, void)+ * replace C FFI float/double conversions with GHC.Float casts (identical hashes)+ 0.1.2.0: 2025-01-13 * replace cryptonite (deprecated) with crypton
large-hashable.cabal view
@@ -1,27 +1,29 @@ name: large-hashable-version: 0.1.2.0+version: 0.1.3.0 synopsis: Efficiently hash (large) Haskell values-description: Please see README.md+description: Efficiently hash Haskell values with MD5, SHA256, SHA512 and other hashing+ algorithms. homepage: https://github.com/factisresearch/large-hashable license: BSD3 license-file: LICENSE author: Stefan Wehr, Lukas Epple maintainer: Stefan Wehr-copyright: 2015 - 2017 factis research GmbH, 2018 - 2023 medilyse GmbH, 2024 - 2025 MEQO GmbH+copyright: 2015 - 2017 factis research GmbH, 2018 - 2023 medilyse GmbH,+ 2024 - 2026 MEQO GmbH category: Web build-type: Simple cabal-version: 2.0-extra-source-files:- cbits/md5.h+extra-doc-files: README.md ChangeLog+extra-source-files:+ cbits/md5.h default.nix stack.yaml test/bigfile.txt- stack-ghc-9.2.yaml- stack-ghc-9.4.yaml stack-ghc-9.6.yaml stack-ghc-9.8.yaml+ stack-ghc-9.10.yaml library hs-source-dirs: src@@ -36,25 +38,20 @@ build-depends: aeson , base >= 4.8 && < 5 , base16-bytestring- , bytes , bytestring , containers- , crypton- , memory , scientific , strict , template-haskell , text , time- , transformers , unordered-containers , vector- , void build-tool-depends: cpphs:cpphs default-language: Haskell2010 ghc-options: -optc -O3 -W -fwarn-unused-imports -fwarn-unused-binds -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind- -fno-warn-name-shadowing+ -fno-warn-name-shadowing -Wunused-packages -fwarn-missing-signatures -O2 benchmark large-hashable-benchmark
src/Data/LargeHashable/Class.hs view
@@ -31,6 +31,7 @@ import Data.Word import Foreign.C.Types import Foreign.Ptr+import GHC.Float (castDoubleToWord64, castFloatToWord32) import GHC.Generics import qualified Data.Aeson as J #if MIN_VERSION_aeson(2,0,0)@@ -317,16 +318,12 @@ updateHash = updateHashInteger updateHashStable = updateHash -foreign import ccall doubleToWord64 :: Double -> Word64- instance LargeHashable Double where- updateHash = updateHash . doubleToWord64+ updateHash = updateHash . castDoubleToWord64 updateHashStable = updateHash -foreign import ccall floatToWord32 :: Float -> Word32- instance LargeHashable Float where- updateHash = updateHash . floatToWord32+ updateHash = updateHash . castFloatToWord32 updateHashStable = updateHash {-# INLINE updateHashFixed #-}
+ stack-ghc-9.10.yaml view
@@ -0,0 +1,7 @@+resolver: lts-24.3+require-stack-version: ">= 1.0.0"++packages:+- '.'++flags: {}
− stack-ghc-9.2.yaml
@@ -1,10 +0,0 @@-resolver: lts-20.21-require-stack-version: ">= 1.0.0"--packages:-- '.'--flags: {}--extra-deps:- - crypton-1.0.1@sha256:f41316fbc6ad878396e476355e27b70ac35c344d74e3eefafe709e03b192be9e,14527
− stack-ghc-9.4.yaml
@@ -1,7 +0,0 @@-resolver: lts-21.25-require-stack-version: ">= 1.0.0"--packages:-- '.'--flags: {}
stack.yaml view
@@ -1,4 +1,4 @@-resolver: lts-22.34+resolver: lts-24.3 require-stack-version: ">= 1.0.0" packages: