Remix.run Logo
rav 3 days ago

In TypeScript it's called "bivariance", which sounds very programming language theory like, but is not a term typically used in academic contexts, since it is unsound almost by default. It's described here: https://www.typescriptlang.org/docs/handbook/type-compatibil...

drzaiusx11 3 days ago | parent [-]

Key sentence in their justification seems to be:

"allowing this enables many common JavaScript patterns"

Honestly at this point they should make a new strict "no js" mode, as the ecosystem likely has reached a tipping point where you can get by without mixing typed and untyped js at compile time. Wonder if targeting wasm directly would help ensure those boundaries are ensured...

drzaiusx11 3 days ago | parent [-]

https://www.assemblyscript.org/ is pretty darn close, but it would probably be better to converge and not split communities