|
From: Arthur L. <ale...@xs...> - 2002-01-21 20:49:17
|
Christophe Rhodes wrote: > > In particular, after the patch we have > > * (sb-kernel:specifier-type '(complex (member 6 9))) > > #<SB-KERNEL:NUMERIC-TYPE (COMPLEX RATIONAL)> > > so that > > * (typep (complex 1/2 3/2) '(complex (member 6 9))) > > T > > That seems worse than the old behavior, where the pre-ANSI code > > refused to accept (COMPLEX (MEMBER ...)) types at all. I'd rather have > > code that signals an error about its nonconformance than code which > > quietly gets the wrong answer. > > I'm sure that you're right, but I don't see immediately what's wrong > with these I don't see anything wrong either. Also, LWW 4.1.20 returns the same results for (typep (complex 1/2 3/2) '(complex (member 6 9))) -> T for (upgraded-complex-part-type '(integer 6 6)) -> RATIONAL and for (upgraded-complex-part-type 'fixnum) -> RATIONAL Not that this proves anything, of course. |