equal-files 0.0.5.1 → 0.0.5.2
raw patch · 2 files changed
+9/−12 lines, 2 files
Files
- equal-files.cabal +2/−2
- src/EqualFiles.hs +7/−10
equal-files.cabal view
@@ -1,5 +1,5 @@ Name: equal-files-Version: 0.0.5.1+Version: 0.0.5.2 License: GPL License-File: LICENSE Author: Henning Thielemann <haskell@henning-thielemann.de>@@ -44,7 +44,7 @@ Build-Type: Simple Source-Repository this- Tag: 0.0.5.1+ Tag: 0.0.5.2 Type: darcs Location: http://code.haskell.org/~thielema/equal-files/
src/EqualFiles.hs view
@@ -3,8 +3,8 @@ import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as BL -import System.IO (openBinaryFile, hClose, IOMode(ReadMode), )-import Control.Exception (bracket, evaluate, )+import System.IO (IOMode(ReadMode), withBinaryFile, openBinaryFile, hClose, )+import Control.Exception (evaluate, ) import Data.List (sort, ) import Data.List.HT (groupBy, )@@ -12,13 +12,13 @@ groupEqualElems :: (Ord key, Ord elem) => [(elem, key)] -> [[key]]-groupEqualElems xs =- map (map snd) (groupBy (equating fst) (sort xs))+groupEqualElems =+ map (map snd) . groupBy (equating fst) . sort {- | Only return sub-lists with more than one element. -} clusterEqualElems :: (Ord key, Ord elem) => [(elem, key)] -> [[key]]-clusterEqualElems xs =- filter (not . null . tail) (groupEqualElems xs)+clusterEqualElems =+ filter (not . null . tail) . groupEqualElems {- | This version does not close the files,@@ -48,10 +48,7 @@ readPrefix :: Int -> FilePath -> IO B.ByteString readPrefix size fileName =- bracket- (openBinaryFile fileName ReadMode)- hClose- (flip B.hGet size)+ withBinaryFile fileName ReadMode $ flip B.hGet size clusterWithPreSort :: Int -> [FilePath] -> IO [[FilePath]] clusterWithPreSort size fileNames =