>
> Forgot to say Base.== returns bool, so this now makes == type unstable.


Type stable (in the context of Julia) means that the return type can be 
statically inferred from the argument types. This means that + is type 
stable, even though it returns a Float64 if the arguments are Float64 and 
Int if the arguments are Int.

+(a::Int, b::Int) would be type unstable if typemax(Int) + 1 would be a 
BigInt, because then you'd have to look at the value of a and b to figure 
out what the type of the returned value would be.

This is an easy mistake to make, but the distinction is important.

Reply via email to