[1]A new DWScript 2.3 source archive [2] is available (417 kB) for the SVN-averse, the previous available zip was the 2.2 version, which is quite outdated. Given the continuous extension of the unit tests suite, this should hopefully be one of the most stable versions to date, in addition to being the most advanced, but it’s likely less stable and less advanced than the SVN version will be when you’ll read these lines 😉
Language changes:
- overloading object methods is now supported
- support for multi-line quoted strings (double-quote ” delimited)
- support for multi-line indented strings (started with hash double-quote #”)
- added support for “resourcestring” declaration and localization via IdwsLocalizer
- added support for “array [Boolean] of“
- added Sign() and StrBeginsWith() to the standard functions
- RandSeed has been deprecated (but SetRandSeed is still supported)
Library, Demos and Script engine changes:
- partial support for RTTI exposure of static and dynamic arrays (thx Dorin Duminica)
- minimal resolution to allow calling overloaded methods via RTTI (thx Dorin Duminica)
- many error improvements related to abuse and misuse of “@” (thx Alexey Kazantsev)
- optimized “in” evalution when used against small enumerations
- added support for various hinting levels
- added JSON exporter for the SourceContextMap
- fixed Simple DWS server demo (thx Mason Wheeler)
- fixed CallStack when function pointers are in the call stack
- fixes and minor speedups to JSON parsing for for the dwsJSON unit (thx Jon Burnham)
JavaScript CodeGen changes
- fixed occasionally mis-handled “var” parameters
- smart-linker can now eliminate unused virtual methods
- added verbosity option (controls extra comments in the JS output)
- Simple Format() calls can now be optimized to inline string concatenations
- improved initialization of large static arrays
- Random() function is now based on Alea.js [3] and uses Marsaglia’s “Multiply With Carry”