Remix.run Logo
debugnik 2 days ago

> F# is where the language designers can push the boundaries

It really isn't, not anymore. F# now evolves conservatively, just trying to remove warts and keep up with C# interop.

And even then some C# features were considered too complex/powerful to implement (e.g. variance, scoped refs) or implemented in weaker, incompatible ways when C#'s design is considered messy (e.g. F#'s non-nullable constraints disallow value-types, which breaks for some generic methods written in C#, sadly even part of the System libs).