News for hackers. Stuff that matters.
Re:Why don't more languages offer flow typing? by xg15 on Monday April 04, 2022 @02:48PM (#30910559)
For consts and function arguments yes, I think. But you could have some mutable variable or field whose value depends on runtime state. In that case, you could have an actual polymorphic type.
Re:Why don't more languages offer flow typing? by epolanski on Monday April 04, 2022 @05:46PM (#30912374)
But the previous example isn't that case.

if (c.type === 'a') { /* c is of type A here */ }

This is dynamic typing, this code is checked at runtime, and it's leveraged statically.

Re:Why don't more languages offer flow typing? by xg15 on Monday April 04, 2022 @06:39PM (#30912907)
Yes, that's correct. In the GP example, c was const, so the type can be determined at compile time.
Re:Why don't more languages offer flow typing? by simulate-me on Monday April 04, 2022 @07:55PM (#30913520)
I was writing TypeScript, where const just means the variable is not reassigned. For instance this is valid:

    const c: C = Math.random() < 0.5 ? { type: 'a' } : { type: 'b' }.
Re:Why don't more languages offer flow typing? by xg15 on Tuesday April 05, 2022 @01:22AM (#30915556)
Ah, I'm sorry. You're right of course!