Most of the Rust port was done by a single engineer over ~8 months, while the rest of the team kept shipping features: no code freeze.
Read the full story: medium.com/flow-type/flows-o…
TypeScript lets you pass Array<string> where Array<string | Error> is expected, so the function pushes an Error to your string array. Flow rejects it.
TS Playground, 0 errors: typescriptlang.org/play/?#co…
Flow Playground, rejects with an error: flow.org/try/#1N4Igxg9gdgZgl…
👀 Is this Flow, or TypeScript?
Is Flow coming back?
- Flow syntax aligns with TypeScript
- Flow has pattern matching
- Useful React hooks/component/renders syntax
- Compiler has been recently ported to Rust
I'll keep an eye on it for you, but this is promising!
If your "Flow vs TypeScript" take is from 2021, it's out of date. Flow looks like TypeScript now - but it has pattern matching and React component syntax, while catching runtime crashes TypeScript waves through. Examples below. 👇
Another: TypeScript only validates the signature of a type-guard, not the body.
Flow validates the body and rejects predicates that lie about what they check.
Flow for TypeScript Users in 2026: 20+ side-by-side comparisons, verified against TypeScript 6.0.3 with 'strict' enabled:
flow.org/en/docs/flow-vs-typ…
The render types section of the blog post doesn't even go all that in depth.
This is contrived for the sake of conciseness but really pay attention to what this code is expressing and understand how buck wild it is that we can express this with complete type safety!