Ok looking into it, zero is inside of the set of cardinal numbers.

It is still wrong to call a uint a cardinal number.
It's just wrong for a different reason.

Looking through various definitions, a cardinal number is a number which
represents a count of sets.

So a uint could be used to represent a cardinal number, but it could just
as easily be a number that represents something other than a count.

If it is being used to index into a list it would be an ordinal number.
(And so definitely not a cardinal number.)

Calling them cardinal numbers would imply something about them that may or
may not be true.

If it is being used to store a bitmask, then it would be wrong to call it a
cardinal, ordinal, or even a natural number.

It may also be wrong to call it an integer, but at least that is what CPU
designers call it.


On Mon, Jan 13, 2020 at 1:51 PM ToddAndMargo via perl6-users <
perl6-us...@perl.org> wrote:

> On 2020-01-13 11:10, ToddAndMargo via perl6-users wrote:
> >
> > https://docs.raku.org/type/UInt
> >     Subset UInt
> >     Unsigned integer (arbitrary-precision)
> >     The UInt is defined as a subset of Int:
> >     my subset UInt of Int where {not .defined or $_ >= 0};
> >     Consequently, it cannot be instantiated or subclassed;
> >     however, that shouldn't affect most normal uses
>
> Trivia:
>
> In https://docs.raku.org/type/UInt, a cardinal (uint)
> is a subset
>
> In https://docs.raku.org/language/nativetypes, a
> cardinal (unit) gets their own "native type".
>
> Life in the documentation lane!
>
> :-)
>

Reply via email to