Here is a quick summary of recent changes SVN-side [1] for DWScript:
- static classes are now in DWS, like the Prism/C# variant [2], they are classes which cannot be instantiated and can only have class methods or properties, but as DWScript supports the concept of meta-classes, unlike in Prism/C#, they can be virtual and sub-classed (unless you mark them as “sealed” too, of course).
type TStatic = class static class procedure Whatever; end;
Note that a static class can only be subclassed to a static class, and can only inherit from a static class (or TObject).
- quote-delimited strings can now be used as an alternative to apostrophe-delimited strings as in JavaScript [3] and Prism [4], though they are still single-line strings, like in JS and unlike in Prism.
var hello := "bonjour l'ami";
- the final qualifier is now supported, it can be used to indicate that a method can no longer be overridden by subclasses.
- the compiler will now warn about invoking constructors on instances (rather than classes) when outside of a constructor.
- method override checks have been made stricter and compiler should now report all cases of incorrect overrides.
- new directives {$HINTS ON|OFF} and {$WARNINGS ON|OFF} are now supported, and allow to turn on/off the hints and warnings respectively.