Larry Wall wrote:
Well, mostly, unless we consider that Num(1.0) might have to wait
till run time to know what conversion to Num actually means, if Num
is sufficiently delegational....  But I think the compiler can probably
require a tighter definition of basic types for optimization purposes,
at least by default.

Does that mean that 1 actually defaults to int32 and 1.0
to num64? How is ** handled? Does 2**2 === 4 or does that
mean 4.0 === 4 and hence False? In other words is there a
&infix:<**>:(Int,UInt-->Int) and will 2**2 dispatch to it?

Talking of UInt, how is potential sign handled in ===?

  my UInt $x = 3;
  my Int $y = 3;

  if $x === $y { say "true?" }

Regards, TSa.

Reply via email to