HaloO, Luke Palmer wrote:
When do we do integer/rational math and when do we do floating point math?
Since we have now flooring semantics on modulus and division I wonder how the coercion of nums to ints takes place. Does it also use floor? E.g. is @array[-0.3] accessing the last element or is it truncating to zero and indexing from the front? Another integer issue is how the ++ and -- operators behave. Do they coerce to int before the operation or do they keep nums as nums? E.g. my $x = 3.25; $x++; # 4.25 or 4? $x = -2.25; $x--; # -3.25 or -4 or -3? How are coercions handled when calling functions? sub identity ( Int $i ) { return $i } my Num $x = 3.25; say indentity($x); # prints 3 or type error? Or even 3.25? I'm opting for type error on the footing that Int <: Num and you can't allow a supertype where a subtype is expected. BTW, are character positions integers or can we have fractional characters on a higher unicode level that is a sequence of lower level chars? Regards, TSa. --