Hi all, Twice now I've thought I had overloaded the appropriate functions for a new type, only to observe apparent inconsistencies in the way the new type behaves. Of course, there were no inconsistencies. Instead, the observed behaviour stemmed from overloading a function that is not at the bottom of the function chain. The two examples where I stuffed up were:
1) overloading Base.< instead of overloading Base.isless, and 2) overloading Base.string(x) instead of overloading Base.show(io, x). My question is this: What is the communities best solution/resource for knowing which functions are at the bottom of the chain and thus are the ones that need to be overloaded for a new type? Cheers and thanks in advance to all repsonders, Colin