Both C++ and Fortran 90 allow the programmer to annotate call-by-reference arguments to a function as to whether the function is allowed to change them (this is denoted const & in C++). The compiler then enforces the const-ness of the argument. I don't see how to do this in Julia. Is it available? If not, is there a reason why it was not included? This is a fairly basic tool for self-documenting code and for ensuring program correctness.
And a related question: the documentation makes a big deal about "stable types" for function return arguments. An obvious question is why the language doesn't allow the programmer to declare in the function heading what will be the return types of the function, and then have the compiler enforce this stability. Is this possible in Julia? If not, is there a technical reason for omitting it? Thanks, Steve Vavasis P.S. I have a few more questions but I'll pause now to wait for answers to these questions. I hope they are easy to answer!
