Re:Why don't more languages offer flow typing?
by dragonwriter on Monday April 04, 2022 @01:56PM
(#30909826)
You mean sum types, not union types (TypeScript has union types, your example uses sum types.)
[ Parent
| on HN ]
Re:Why don't more languages offer flow typing?
by marcosdumay on Monday April 04, 2022 @04:20PM
(#30911513)
An union type is the C attempt to implement something like sum types, that other languages extend a bit to literally implement sum types.
Those two words live on different contexts, as unions are about a memory usage pattern, and sum types are about conceptual software design, but they often go together on the same language feature.
Re:Why don't more languages offer flow typing?
by munificent on Monday April 04, 2022 @04:47PM
(#30911766)
> An union type is the C attempt to implement something like sum types
Sum types, unions (in the C sense), and union types are three distinct concepts.
Wikipedia's article confusingly merges the latter two concepts together but they're different thing. TypeScript[1] and Scala[2] have union types, but they have nothing like C's notion of "unsafely reuse the same bits in memory to be interpreted as different things".
[1]: https://www.typescriptlang.org/docs/handbook/2/everyday-type...
[2]: https://dotty.epfl.ch/docs/reference/new-types/union-types.h...
Re:Why don't more languages offer flow typing?
by lambdasquirrel on Tuesday April 05, 2022 @12:59AM
(#30915444)
I did mean sum types. Thank you for the correction.