Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Do you happen to have a link to an example or explanation?


The keyword to search for is algebraic data types, which are common in functional languages, but for instance Rust also has them.

Here is an example comparing C# with F#, where the latter also algebraic data types: https://blog.ploeh.dk/2016/11/28/easy-domain-modelling-with-...


The syntax has improved quite substantially since 2016 for pattern matching at C#'s end, and it's very easy to model ADTs with records (and the experience of using them even before that was decent with methods accepting lambdas).

Today, you write it in a similar way you would write a match in Rust.


How do you represent sum types in C# today? Can enum members hold records as data, or do you do it differently?


Domain Modeling Made Functional [0] by Scott Wlaschin

[0] https://www.youtube.com/watch?v=2JB1_e5wZmU


The other commenter is not technically wrong to point at “algebraic data types”, but I don’t think that answer is helpful at all. It’s like saying the answer to data modelling is tuples.

I would instead recommend searching for “functional programming and domain driven design”.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: