Hello all Algorithmically oddSquareSum is a bit below par though...
> oddSquareSum :: Integer > oddSquareSum = sum . takeWhile (<10000) . filter odd . map (^2) $ [1..] Why filter out the evens after generating them? > oos1 :: Integer > oss1 = sum . takeWhile (<10000) $ map (^2) odds > where odds = iterate (+2) 1 Best wishes Stephen On 10 March 2010 13:14, Sebastian Fischer <s...@informatik.uni-kiel.de> wrote: > On Mar 10, 2010, at 12:21 PM, Ketil Malde wrote: > >> Introducing names means that I need to keep the temporary definitions in >> my >> head, and I think "takeWhile (<10000)" is as clear as it can get. And >> while a name can be misleading (belowLimit is a boolean, no?) or flat >> out wrong, the definition has its semantics¹. > > I agree that composition chains are acceptable (and preferable) if they are > clear. And I won't argue about wether the example from LYAHFGG is > sufficiently clear in pointfree style (because I'm biased, to me it is > certainly clear). > > I do not agree that introducing names locally for compositions is *always* a > bad idea, even if used only once. (Choosing names that are "misleading or > flat out wrong" is of course always a bad idea.) > >> Named values are just like comments > > While you wanted to degrade named values by this statement I think it can > serve as justification. A sensible comment for the example program might be > > -- computes the sum of all odd squares below a certain limit > > With the names in the rewritten example this comment is no longer necessary. > I think only an average Haskell programmer understands the original > pointfree program as quickly as this comment. > > Good names can help making comments less important. > > Sebastian > > -- > Underestimating the novelty of the future is a time-honored tradition. > (D.G.) > > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe