Hello michael, Monday, April 20, 2009, 6:32:47 PM, you wrote:
something like 0*_ = 0 x*y = x *# y or vice versa _*0 = 0 x*y = x *# y where *# is original (*) definition. current ghc definiton just performs cpu-level operation w/o checking for 0 since this is rarely useful and need some time OTOH, boolean operations are expected to short-circuit, so they are defined properly. try and (iterate [True,False]) > Hi Eugene, > Clever solution. > It didn't come right back so I interrupted it. Guess it would do all those > multiplies by zero. > Does anyone know how to define it to avoid that? > Thanks. > Michael > --- On Mon, 4/20/09, Eugene Kirpichov <ekirpic...@gmail.com> wrote: > From: Eugene Kirpichov <ekirpic...@gmail.com> > Subject: Re: [Haskell-cafe] CPS and the product function > To: "michael rice" <nowg...@yahoo.com> > Cc: haskell-cafe@haskell.org > Date: Monday, April 20, 2009, 9:40 AM > Check that by experiment in ghci or by looking at the source: Prelude*>> product [0..] > Or search "product" at http://holumbus.fh-wedel.de/hayoo/hayoo.html > and click on one of the Source links. > 2009/4/20 michael rice <nowg...@yahoo.com>: >> I've been looking at CPS in Haskell and wondering how many multiplications >> the product function performs if it encounters a zero somewhere in the input >> list. Zero? >> >> Does anyone know the definition of the product function? >> >> Michael >> >> >> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> -- Best regards, Bulat mailto:bulat.zigans...@gmail.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe