Re:Why don't more languages offer flow typing?
by cannabis_sam on Tuesday April 05, 2022 @12:24AM
(#30915284)
How does pattern matching solve the same problem?
Re:Why don't more languages offer flow typing?
by munificent on Tuesday April 05, 2022 @01:06PM
(#30921673)
It gives you a very nice notation for checking if a value has some type and, if so, binding a new variable that refers to it as that more specific type.
Re:Why don't more languages offer flow typing?
by cannabis_sam on Tuesday April 05, 2022 @04:25PM
(#30924534)
How does that solve the problem of statements being devoid of return information?
Also, what? Pattern matching differentiate between values of a single type, and while the assignment mechanism is a great nice-to-have, it still completely follows the basic type consistency that actually typed functions provide.
Statements have none of these qualities..
Re:Why don't more languages offer flow typing?
by munificent on Tuesday April 05, 2022 @07:12PM
(#30926351)
I'm sorry, but we seem to be talking past each other.
Why is it a problem that statements are "devoid of return information"? A statement occurs in a position where, by definition, no value it produces will be used.
Expression-based languages tend to have pattern matching which provides another way to solve the same problem.
Flow typing is most useful in imperative languages where code like this is common:
Early returns and other imperative control flow is idiomatic and it's annoying if the static type system doesn't understand it.In a more functional or expression-oriented language, early returns and other imperative control flow like that is rarer, so there's less "flowing" to type over.