> Distributions is an awesome example of a package that explains what I was trying to say about using multi-dispatch instead of compound function names -- a work of art. I hope to use it in the future. Have you had an uproar from the community that the names don't follow the MATLAB "defacto standard"?
Kindly note that the point I made about Matlab and sparse matrices was mainly historical and partly psychological, not one about rational PL design. In the particular case of sparse matrices, Matlab had the first mover advantage because they were actually the first provider of sparse matrix functionality in a high level language. Furthermore, because most users of sparse matrices become familiar with them from a teaching environment that uses said language, they become accustomed to Matlab's spelling. The example of Distributions makes a different point about rational design, which I am not opposed to. However, the meaning of the type annotation is not unambiguous. In some cases it refers to the _input_, and in other cases, the _output_. In some cases you may even need to annotate both the input and output types, which then strays dangerously close to function types and I/O monads. Changing the spelling of writemime vs write(MIME) was discussed in Issue #7959, but it was difficult to disambiguate write(MIME) from other write methods IIRC.
