From: "Simon Peyton-Jones" <[EMAIL PROTECTED]> Date: Fri, 14 Dec 2001 01:18:56 -0800 ... If someone could write a sentence or two to explain why gcd 0 0 = 0, (ideally, brief ones I can put in the report by way of explanation), I think that might help those of us who have not followed the details of the discussion.
Well, Serge and I have both offered variations on the real reason why mathematicians agree that gcd 0 0 = 0. I prefer my simpler specialized-for-integers version, but I suspect even that is more mathematics than you want. At the other extreme, you could follow Knuth and simply state: "it is convenient to set gcd(0, 0) = 0", but that seems a bit unconvincing. If I were in your shoes, I'd simply pass the buck to the authorities by saying something like: "Mathematicians agree that gcd(0, 0) = 0". Incidentally, somebody wrote here that Common Lisp defines `(gcd 0 0)' to be 0, but it looks to me like all the language definition really does is state that `(gcd)' (no arguments) is 0 because 0 "is an identity for this operation" (which is technically false, but never mind), from which it is natural for the reader to conclude that `(gcd 0 0)' must be 0. _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell