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.
great! that will put an end to the confusion over static that some people get when they are new to pike.
i take it that deprecated will work like optional when classes are compared?
greetings, martin.
pike-devel@lists.lysator.liu.se