+1 for sum types a la F# (discriminated unions). They're very clean and minimal. type Option<'a> = | Some of 'a | None let opt = Some("hello") match opt with | Some x -> printfn "%A" x | None -> prinfn "None" Run type Shape = | Rectangle of width: float * length: float | Circle of radius: float match shape with | Rectangle(width = w) -> w | Circle(radius = r) -> r Run
- Sum types, 2024 variant blackmius
- Sum types, 2024 variant ElegantBeef
- Sum types, 2024 variant blackmius
- Sum types, 2024 variant ElegantBeef
- Sum types, 2024 variant Araq
- Sum types, 2024 variant bajith
- Sum types, 2024 variant Araq
- Sum types, 2024 variant bajith
- Sum types, 2024 variant bajith
- Sum types, 2024 variant TKD
- Sum types, 2024 variant walkr
- Sum types, 2024 variant ingo
- Sum types, 2024 variant Nerve
- Sum types, 2024 variant hamidrb80
- Sum types, 2024 variant Chronos
- Sum types, 2024 variant crfout
- Sum types, 2024 variant xigoi
- Sum types, 2024 variant Araq
- Sum types, 2024 variant didlybom
- Sum types, 2024 variant Araq
- Sum types, 2024 variant Araq