Remus

Jacob Carlborg doob at me.com
Tue Dec 4 23:39:25 PST 2012


On 2012-12-04 22:59, Namespace wrote:
> 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;

Looks good.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-announce mailing list