4 ms·
That will allocate for any constructed Either though. F#'s Result and ValueOption are value-types (structs), and value-type variants recently added support for
by debugnik 9mo ago
That will allocate for any constructed Either though. F#'s Result and ValueOption are value-types (structs), and value-type variants recently added support for sharing fields between variants when the name and type match.
- louthy 9mo agoYes, that's the limitation until the value-type DUs arrive in C# 15. In previous versions of language-ext, I defined Either as a struct with bespoke Match methods to pattern-match. But once pattern-matching appeared in C# proper, it didn't make sense to keep the struct type.
- FrustratedMonky 9mo agoSounds like C# 15 will be it then? Everything unique about F# will be incorporated. I guess a lot of how F# structures projects, like file order, or not using nulls, can be done by programming rigor?
- debugnik 9mo agoAren't the upcoming C# "value-type" DUs just a wrapper over an object reference? Value-type cases will be boxed AFAIK.