Version 1.1 is now available.
Alterations:
-> Package import. I see in the forum a good solution for package imports and so I merged it with Remus. Because of that you can write now: import package PACKAGE_NAME : MODULE1, MODULE2, ... ;
Short example: import package std : stdio, regex, array;

 -> improved not null references:
- you can declare not null references now as Return Type (wasn't possible before) - detect reliable if a reference is assigned or not (and if not: throw an error)
 - delete the '@' operator: you now have the 'makeRef' function.
Short example for that:
[code]
void test(Foo& fr) { }

void main() {
    Foo f = new Foo();
    Foo& fr = f;

    test(fr);
    test(makeRef(f));
    test(makeRef(new Foo));
}
[/code]
As you can see: there is no need to declare a senseless reference variable for a function which takes only a reference: you can use makeRef. And as you can see also: makeRef works even fine with RValues.

 -> improved Elvis Operator. And new: short elvis operator.
Example:
Foo f[ = new Foo()];
// ...
f ?= new Foo(); -> this is converted to: f = (f ? f : new Foo());

Reply via email to