John M. Dlugosz wrote:
The proposed Infinite class (see the thread I started on 4/25/2008) does
handle transfinite cardinals.
Do you mean the thread called "The Inf type" where I replied to your
post of a version of your specdoc? My concern with the approach you take
there is to base it on cardinals whereas ordinals are much more
practical. The .elems of an array for example should be its order type
not its size as a cardinal. For hashes the size is a cardinal, though.
But an infinite hash would need infinitely many keys. So a safe bet is
that all hashes will be finite and finite cardinals are equal to finite
The Num type is not infinite precision, but the highest-precision native
type that operates at full speed. Since there are high or arbitrary
precision float libraries available now, I'm sure CPAN6 will include some.
BTW, with an infinite precision Num I see no need for the Rat type!
Could we get confirmation for that from @Larry. I remember $Larry
mentioning that Num fails over to Rat or so when necessary. IOW,
my Rat $rat = 1/3; # assuming infix:</> returns a Rat
my Num $num = 1/3;
my Rat $diff = abs($rat - $num);
store a non-zero value in $diff? I assume that Num is discrete with a
binary representation and infix:<->:(Rat,Num-->Rat) converts $num to a
fraction with a power of two in the denominator. BTW, with floor
semantics I would expect $num < $rat.
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan