www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Truly algebraic Variant and Nullable

reply 9il <ilyayaroshenko gmail.com> writes:
Truly algebraic Variant and Nullable with an order-independent 
list of types.

Nullable is defined as
```
alias Nullable(T...) = Variant!(typeof(null), T);
```

Variant and Nullable with zero types are allowed.

`void` type is supported.

Visitors are allowed to return different types.

Cyclic referencing between different variant types are supported.

More features and API:

http://mir-core.libmir.org/mir_algebraic.html

Cheers,
Ilya

The work has been sponsored by Kaleidic Associates and Symmetry 
Investments.
Nov 14
parent Jack Applegame <japplegame gmail.com> writes:
On Sunday, 15 November 2020 at 04:54:19 UTC, 9il wrote:
 Truly algebraic Variant and Nullable with an order-independent 
 list of types.

 Nullable is defined as
 ```
 alias Nullable(T...) = Variant!(typeof(null), T);
 ```

 Variant and Nullable with zero types are allowed.

 `void` type is supported.

 Visitors are allowed to return different types.

 Cyclic referencing between different variant types are 
 supported.

 More features and API:

 http://mir-core.libmir.org/mir_algebraic.html

 Cheers,
 Ilya

 The work has been sponsored by Kaleidic Associates and Symmetry 
 Investments.
It should be in the standard library.
Nov 15