DWScript pre-Apocalypse news

Logo DWScriptWith the end of the world in a few days, it’s time to flush the what’s new log for DWScript.

There are two major items that will be discussed in future posts:

  • the JSON connector, which gives direct, JS-like access to JSON-based data objects
  • the Gabelou, which aims to become to DWScripot what StyleCop is to C#.

Also the old Indy-based webserver demo is being replaced by one based on Synopse high-performance http server classes.

Language

  • Support for var to do loop syntax
  • Support unit namespace syntax
  • Support Low/High/Length methods on strings
  • Delphi compatibility: classic units (with interface/implementation) now treat private/protected visibility in the same way as Delphi, visibility rules are unchanged for scripts and consolidated units.
  • Delphi compatibility: tolerate (and ignore) Delphi call conventions (safecall, cdecl, etc.), these will now trigger a “strict”-level hint rather than an error.
  • Improved error messages when attempting to use instance methods in a class or static method
  • Support nil for function pointer default parameters
  • Fixes when using helpers on implicit Self reference inside methods
  • Fixes for partial classes support

Scripting

  • JSON Connector (mostly read-only at the moment, cf. future article)
  • Improvements when using the compiler to compile/test a standalone unit rather than a script or program
  • Support declaring internal static methods
  • Added facilities for subclassing TdwsProgramExecution
  • Fixed Guardian issue when guarded scripts are still running after the guardian is released
  • HexToInt now throws an exception when value is invalid
  • Improved unit tests coverage

Tools & Utilities

  • Introduced Gabelou (cf. future article)
  • Initial test server based on Synopse high-performance http server
  • Faster UnicodeCompareLen/UnicodeCompareText

2 thoughts on “DWScript pre-Apocalypse news

Comments are closed.