There are several things planned and underway for the next DWScript version, this post will serve as a roadmap of sorts.
[1]Of course, there is a wealth of other changes (minor or not) that aren’t mentioned there, but will likely happen.
What’s already happening
- IDE Dialog : thanks to Brian Frost.
- comes with a documentation [2].
- edit scripts from within an application.
- supports (fledgling) code proposals.
- run a script under the debugger.
- breakpoints & stepping.
- watches.
- local variables view, call stack.
- and more!
- FreePascal port : thanks to alexvins.
- for details and progress, see the FPC wiki [3].
- some changes in 2.2 were already introduced to reduce the distance.
Planned language features:
The overall goal is to meet Delphi features, and hopefully bypass it by introducing language elements from Prism or FreePascal, where they makes sense.
- method overloading
- “set of” (likely will be generalized to a set of any type)
- generics or templates (I’m still undecided [4], maybe both if I can’t decide ;-))
- anonymous methods (aka closures)
Planned tools and architectural features
- unit test coverage of 95% overall, with all core units at 100%.
- static shared units (compile-time and memory usage optimization).
- incremental internal changes towards strong typing & away from variants.
- extended and improved IDE support tools.
- audits & static analysis tools.
- further RTTI interfacing improvements.
How can I help?
The best way is probably to volunteer!
If you don’t feel like tackling complex aspects, there are many peripheral tasks where you can make a difference:
- report bugs in the Issue Tracker [5]
- add simple DWScript samples at Rosetta Code [6]
- contribute graphics: component icons (current ones are old and ugly), a new logo, etc.
- design or report about more complex or real-world usage cases for DWScript
- contribute tutorials, documentation, even a single wiki page on a single function or language feature can help
- contribute IDE support tools or components
- make a donation [7] 😉
And DWScript being Object Pascal-rooted, merely using it in your applications will raise Object Pascal awareness and contribute in a small bit to Pascal staying afloat and popular 😉