3 ms·
> It lacks a do-notation system, currying by default and guaranteed tail-call optimisation. And instead gives plain structs with separate impls, traits like In
by mamcx 5y ago
> It lacks a do-notation system, currying by default and guaranteed tail-call optimisation.
And instead gives plain structs with separate impls, traits like Into/From that cut tons of custom-made transformation code, more uniform iterators (in F# some things not implement iterators that other things do, because everyone need to implement again all of them) and other idioms that are very practical.
Is a tradeoff, sure.