Goodies from the SVN side for DWScript

Here is a summary of the recent changes:

  • support for step in the for loop structure (step value must be >=1, enforced at compile time for constants, at runtime for dynamic values). Note that step is only a contextual keyword, and not a reserved word (you can still have variables named “step” f.i.).
    for i := 0 to 10 step 2 do ...
    for i := 100 downto 1 step 3 do ...
  • support Prism-like exit syntax, ie. the following statements are now equivalent:
    Result := value; exit;
    Exit( value );
    exit value;
  • support not in form for the in operator, both following expressions are equivalent:
    value not in [...alternatives...]
    not (value in [...alternatives...])
  • break/continue outside of a loop are now detected at compile-time.
  • improved infinite loop detection: compiler will now warn about more cases of while/repeat with constant conditions and no inner break/exit.

The first elements to support language extensions are also in, more details coming in a future post!

5 thoughts on “Goodies from the SVN side for DWScript

  1. Well, I still got the space between not & in!
    That said, “is not” sounds like a good idea, and being two words would be patent-free, no? 😉

  2. Eric :
    That said, “is not” sounds like a good idea, and being two words would be patent-free, no?

    You seem to be an optimist.

  3. Actually after reading the patent, it seems to be okay, as “is not” involves two keywords, and the patents cover the case of a single keyword.
    Second, there has been prior art uncovered by other companies already, like Python’s “is not”.
    Third, software patents aren’t accepted in Europe anyway 😉

  4. Eric :
    Third, software patents aren’t accepted in Europe anyway

    Yeah, good old Europe. 😉
    Somehow it’s sad that jokes about stuff like that are funny.

Comments are closed.