Last pull today. Romulus is ready to use/test. A website and documentation coming soon and then I need some help to write it in english. But first I hope that some of you could test it.

Here a brief overview:
 - not null references. Syntax: Object& obj
- final variables. mutable access, but not rebindable. Syntax: final Object obj - readonly variables, even called "lazy const". constant variable, not rebindable but value must not assign by declaration. Syntax: readonly int i;
 - Elvis operator. Short ternary operator.
Syntax:
Object o;
// ...
o = o ?: new Object();

 - Not null safe invocation. Syntax: a?.b?.c will be converted to:
if (a && a.b) a.b.c. (works only with identifiers).

- Scoped arrays. scoped and static/stack array with the ability, that their size could be a runtime value. You can resize them, but if you do and if the capacity is fully used, it is reallocated on the heap. After leaving scope the memory is automatically destroyed, even if you have reallocated memory on the heap.
Syntax:
scope byte[4] arr1;
int i = 4;
scope byte[i] arr2;

Reply via email to