On 2020-01-28 22:16, Veesh Goldman wrote:
Hi Todd,
I'd just like to point out one thing. Your confusion here (and in a few
related posts) is that you aren't grokking the difference between uint
and UInt.
Hi Veesh,
I am well aware of the difference between UInt and uint. Two
weeks ago I was not.
And because they are different, when I ^name on a variable,
I don't want to see some different come back than what I
declared it as.
Now Perl variables are not "Static" variables as in C. They
have structures assigned to them that allow for all kinds on
interesting things not allowed in C. Inside these structures
is the definition of what the thing is, otherwise you
could not unbox them, etc.. I want both ^name and .range
to accurately reflect what is in the structure's definition.
And especially since this is even possible with C, It should
be possible with Raku being that Raku is written in C.
typeMappings[type_index( typeid(unsigned int) )] = "unsigned int";
And C has no structures to inquire from.
Basically, if I ask a banana what it is, I don't want
to be told it is an apple.
Please correct me if I'm wrong. But if there needs to be an update to
docs, it probably should be to a document that clarifies the difference.
I would like to see the docs updates to
1) reflect that UInt is not a unique variable, but a subset
of Int
2) that uint is not a native type, but a subset of int.
3) that uint and int are not "static" (in the C sense)
variables and can be changed to other things with
coercion and boxing. A discussion on when and how
that is done would be appreciated.
-T
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Computers are like air conditioners.
They malfunction when you open windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~