On Thu, 25 May 2017 10:59:55 +1200, Gregory Ewing wrote: > bartc wrote: > >> Yet the language will stop you assigning to 672, or "abc". >> >> Maybe the language could have been made even smaller if that was not >> checked; after all the developer ought to be trusted not to assign to >> them! > > I'm told that some Fortran implementations experimented with something > akin to that, with "interesting" results.
It wasn't intentional -- it was an accident due to the way they implemented pass-by-reference semantics. If you passed a constant to a function expecting a variable passed by reference, and then assigned to the parameter, the compiler would change the value of the constant. Pascal solved that problem by prohibiting you from passing constants or expressions to functions or procedures as pass-by-reference parameters. -- Steve -- https://mail.python.org/mailman/listinfo/python-list