HaloO, 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. --