www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - sumtype 1.0.0

reply Paul Backus <snarwin gmail.com> writes:
SumType is a generic discriminated union type for modern D. It is 
designed to
be an improved alternative to `std.variant.Algebraic`.

Features:
   - Pattern matching, including:
     - Match-by-introspection ("if it compiles, it matches") (★)
     - Multiple dispatch (★)
   - Support for self-referential types (`This`).
   - Works with `pure`, ` safe`, ` nogc`, `nothrow`, and 
`immutable` (★)
   - Compatible with `-betterC` and `-dip1000` (★)
   - Zero runtime overhead compared to hand-written C
       - No heap allocation
       - Does not rely on runtime type information (`TypeInfo`) (★)

Starred features (★) are those that are missing from `Algebraic`.

With this release, SumType's public API is officially considered 
stable. No
breaking API changes will be made from this release forward 
without a major
version bump.

Improvements since 0.10.0, the last announced version:
   - Copy constructors of SumType members are now called correctly.
   - Self-referential SumTypes can now contain self-referential 
Algebraics, and
     vice versa.
   - SumType is now tested on Windows in addition to Linux and Mac 
OS X.

Links:
   - Documentation: https://pbackus.github.io/sumtype/sumtype.html
   - DUB: https://code.dlang.org/packages/sumtype
   - Github: https://github.com/pbackus/sumtype
Nov 15
parent reply aliak <something something.com> writes:
On Sunday, 15 November 2020 at 20:05:16 UTC, Paul Backus wrote:
 SumType is a generic discriminated union type for modern D. It 
 is designed to
 be an improved alternative to `std.variant.Algebraic`.

 [...]
Alright!! 👏 A 1.0.0 release! Awesome work here!
Nov 17
parent jmh530 <john.michael.hall gmail.com> writes:
On Tuesday, 17 November 2020 at 22:14:04 UTC, aliak wrote:
 [snip]

 Alright!! 👏 A 1.0.0 release! Awesome work here!
Agreed.
Nov 17