packages feed

deepseq-magic 1.0.0.2 → 1.0.0.3

raw patch · 2 files changed

+11/−7 lines, 2 files

Files

Control/DeepSeq/Magic.hs view
@@ -31,12 +31,16 @@ rnf a = a `seq` rest `seq` () where     rest = case unpackClosure# a of             (# _, ptrs#, _ #)->-                let s# = sizeofArray# ptrs#-                    go n# | n# ==# s# = ()-                          | otherwise =-                              case indexArray# ptrs# n# of-                                (# a #) -> rnf a `seq` go (n# +# 1#)-                in go 0#+                let s = I# (sizeofArray# ptrs#)+                    -- Despite the mucking about with unboxed integers,+                    -- use normal equality because the API changed+                    -- backwards incompatibly in 7.10.  The optimizer+                    -- can figure out how to get the unboxed version.+                    go n@(I# n#) | n == s = ()+                                 | otherwise =+                                    case indexArray# ptrs# n# of+                                      (# a #) -> rnf a `seq` go (n + 1)+                in go 0  infixr 0 $!! 
deepseq-magic.cabal view
@@ -1,5 +1,5 @@ name:                deepseq-magic-version:             1.0.0.2+version:             1.0.0.3 synopsis:            Deep evaluation of data structures without NFData description:         Deep evaluation of data structures without NFData license:             PublicDomain