What’s coming next…
There are several things planned and underway for the next DWScript version, this post will serve as a roadmap of sorts.
Time for DWScript v2.3!
Or in other words, Delphi Web Script 2.2 has been branched!
“Rich. Small. Fast. Reliable. Choose any Four”
With v2.2, DWScript is now aiming for that motto*, and this new release represents a major step forward from 2.1 in terms of language features and robustness. (more…)
DWScript 2.2 RC1
A 7zip for DWScript 2.2 RC1 (345 kB) has been posted, changes since the beta:
- improved unit tests coverage to 90% overall, core compiler units now above 93%
- packages separated into compile-time & design-time (thanks Stefan Glienke)
- fixed several issues related to dynamic arrays of function pointers (thanks Alexey Kasantsev)
- fixes to exposure of public methods through RTTI
- Delphi 2009 compatibility changes (thanks Oliver)
- implicit casts from enumerations to integers have been re-enabled
- unit tests updated to compatibility with latest Delphi Chromium Embedded
If no major issues are uncovered, this version will become 2.2 final, and evolution for 2.3 will initiate.
Delphi XE2 VCL Styles and 3D
…or when the old/new VCL mule shows it can still kick!
I was asked how hard it would be to do yet-another-Cover Flow-clone with VCL+GLScene, and how that would stand vs using FireMonkey on Windows.
Memory Manager Investigations
André Mussche on Google+ investigated the performance of several Memory Managers for Delphi, in single-threaded & multi-threaded situations, with detailed results and charts on performance and memory usage.
Great work and interesting findings!
DWScript 2.2 beta
Delphi Web Script 2.2 is now in “beta”, and a DWS 2.2 Beta zip (337 kb) is available.
No new features are expected up to the next stage (RC), only improvements to unit tests, to reach the psychological 90% code coverage milestone.
Changes since 2.2 preview 4:
- extended “for in” syntax to work on all array types
- support dynamic arrays new pseudo-method “IndexOf(item[, fromIndex])”
- extended “in” operator to test presence of an item in an array: “item in dynamicArray” & “item not in dynamicArray”
- support scoped enumerations for Delphi compatibility (“TMyEnum.Enum1”)
- support “@” operator for explicitly obtaining function pointers
- added TdwsBreakpointableLines class, which provides info about all source lines upon which a breakpoint is possible (useful for IDE “blue dots” support f.i.)
- optimizations for “var” parameters and passing var parameters as var parameters
- introduced minor optimization for multiple string concatenation (str1+str2+str3+…)
- fixed dynamic array’s pseudo-method “.Add()” for arrays of delegates
- improved unit tests coverage, various fixes (thanks again to Alexey Kazantsev)
For the curious ones looking at the SVN, there are actually other improvements and additions, but those aren’t ready just yet, and won’t be part of 2.2, but of 2.3.
TdwsRttiConnector: read anything, write anything
…or to be more accurate, many things the Delphi RTTI can reach, DWScript can reach.
Records with methods, Improved RTTI support
Delphi Web Script version 2.2 will soon be a wrap up, I’ve posted a preview zip (324 kb) for the SVN-averse.
Here is the summary of recent changes form the SVN side of DWS:
Status of the DWS JavaScript CodeGen
Here is a quick summary of the current status for the DWScript JavaScript CodeGen, aka OP4JS.
(more…)