>>>> In many languages - even a strict one like C - the behavior of many>> function is not completely defined (such as malloc(0), or something as>> simple as the bit shift (a >> b)). The specific compiler will implement>> specific behavior, yet all of them are meaningful. Just like MATLAB>> colon.>> But there's a very big difference -- take malloc() since you bring it> up. The C Standard states that malloc() w/ a size_t argument of zero is> implementation defined (w/ two possible conforming results).>> While it isn't unique it's much more useful information to the developer> than if it weren't mentioned what happens--when one knows where "there> be dragons" regions are, then it is possible to know one needs to take> appropriate steps to avoid or slay same....

That is, to be specific, the fundamental difference in documentation philosophy in Matlab vis a vis a Standardized language is that the Standard does intend to cover all cases in an unambiguous manner such that an implementer can do so.

If, in fact, you can find a boundary case or somesuch that is not covered, there is an error in the Standard and there is a formal procedure to get official interpretations and update/correct the Standard for the omission/error/oversight. That's a marked philosophy difference from the way Matlab is documented (at least externally--I'm sure there's something more nearly equivalent internally, but that's of essentially no help to the user community since we're not privy to it).