This page is part of the web mail archives of SRFI 70 from before July 7th, 2015. The new archives for SRFI 70 contain all messages, not just those from before July 7th, 2015.
On 5/23/05, Aubrey Jaffer <agj@xxxxxxxxxxxx> wrote: > | Date: Sun, 22 May 2005 20:46:53 +0900 > | From: Alex Shinn <alexshinn@xxxxxxxxx> > | > | On 5/22/05, Aubrey Jaffer <agj@xxxxxxxxxxxx> wrote: > | > > | > In hundreds of years of using rational numbers, mathematicians have > | > not discovered 1/0 to be a useful extension to the rational numbers. > | > | Well, mathematically 1/0 isn't real or complex either, as it doesn't > | obey the properties of a field > > 1/0 and -1/0 can be added in a way that preserves the total ordering > of the real numbers. But closure is lost because (+ 1/0 -1/0) is not real (at which point it's no longer a group, much less field). Introduction of 0/0 to regain closure breaks the inverse element property of groups (the identity element is still 1 but 0/0 has no inverse). > | and breaks the fundamental theorem of algebra. > > In which circumstances does it do that? Is it only when 1/0 or -1/0 > is a coefficient in a polynomial? Yes, such a polynomial would have no zeros. > Many ideas about efficiency have been invalidated by the growth of > instruction speed far outstripping growth in L1 cache size. An > article about this is: > <http://swiss.csail.mit.edu/~jaffer/CNS/interpreter-speed> An interpreter is still an order of magnitude slower than a native compiler. Regardless, if there are situations (either explicit from the use of real? or implicit via method polymorphism) where in the middle of a loop you must check against the IEEE-754 infinities, then you will suffer a serious performance loss. -- Alex