
Hello Sebastian, Thursday, November 17, 2005, 11:02:09 PM, you wrote: SS> IMO it really only works well for simple "chains" like "foo . bar . SS> oof . rab" but as soon as you start working with functions that take SS> more parameters it starts looking very unreadable and you'd be better SS> off to just use $ or write out paranthesis and apply arguments SS> explicitly, or better yet, introduce some temporary descriptive SS> variables in a let or where clause. "are you don't like cats? you just don't know how to cook them right!" :) -- |Returns length of initial segment of list, conforming to combined condition -- F.e. "groupLen (fiSize) (+) (<16*mb) files" returns length of -- initial segment of list, containing files with TOTAL size not exceeding 16 mb groupLen mapper combinator tester = length . takeWhile tester . scanl1 combinator . map mapper -- |Sort list by function result (use Schwarznegian transform) sortOn f = map snd . sortOn' fst . map (keyval f) -- |Sort list by function result (don't use Schwarznegian transform!) sortOn' f = sortBy (map2cmp f) -- This defines filters for files, included in various operations on archives let arc_filter = andf [not.excluded_f cmd, not.overwrite_f cmd] let arc_filter = andf [included_f cmd, not.excluded_f cmd] let arc_filter = not.andf [included_f cmd, not.excluded_f cmd] let arc_filter = andf [included_f cmd, not.excluded_f cmd, not.overwrite_f cmd] let arc_filter = andf [included_f cmd, not.excluded_f cmd] -- Best regards, Bulat mailto:bulatz@HotPOP.com