Here is a summary of recent changes for DWScript [1] in the SVN:
- support for compile-time evaluation of constant records and static arrays.
- support for the ‘&’ escape prefix to allow using reserved words as identifiers.
- fledgling math extensions (TComplex, TVector & TMatrix), currently they are still incomplete, slow and experimental.
- added fledgling language [2] doc in the wiki, redactors and help welcome!
- several units were split: dwsSymbols to dwsUnitSymbols, dwsExprs to dwsInfo, and dwsFunctions to dwsMagicExprs. Advanced script users may have to update some of their “uses” clauses.
- system & internal units are now “static” by default, this is mostly relevant if you were compiling lots of simple scripts, as it saves about 40 kB per script and reduces compile times for short scripts to a matter of nanoseconds.
As a consequence of the above, the unit tests suite now runs quite a bit faster… actually DUnit’s TreeView updates are now the bottleneck, despites hundredths of scripts getting compiled and executed at each step. Time to add more unit tests I guess 😉
Vector and Matrix support have actually been a “fuzzy” goal for DWS, since a long time ago, which is only now getting implemented. The plan is to eventually have them use SIMD [3], and possibly be part of a future OpenCL [4] CodeGen target.