As you can see from the sudden spree of checkins we've had another
meeting in Linköping (though the initial objective had nothing to
do with Pike, the discussion turned in that direction, and we would be
stupid to not take notes...)
While many of the items are simply bugfixes or incomplete features,
there were a few items that dealt with changes that impact the
language on a fundamental level.
We revisited the "static" discussion and some good arguments were made
both for the functionality of static (as in "moved out one scope")
and against it. The consensus we had was to directly implement
"protected" to do what "static" does today. Previously "protected" did
nothing. This has been committed.
As next move we would like to implement "shared" as a new keyword that
does the "declare in outter scope" thing and to make "static" as
deprecated (giving a warning when used).
While on the subject of keywords we thought it would be a good idea to
also mark "nomask" as deprecated ("final" does the same job).
We also want to add "deprecated" as a keyword to be able to mark
non-recommended parts of the interface as such. The idea is to tie
deprecated into the type system so that it can not only be used on
entire functions, but also on specific arguments. A new and annoyingly
long #pragma statement to silence deprecation warnings was suggested.