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!

Reply via email to