On Thursday, 11 December 2014 at 15:37:27 UTC, bearophile wrote:
Nick Treleaven:

Sometimes innovative workarounds are developed that are difficult to foresee in advance - e.g. in Rust their type system can be restrictive, but they rely on trusted library functions/types to make more things possible in a safe way.

Ideally a type system should be flexible enough, in practice giving it a high flexibility has significant costs (in compilation times, amount of code that implements the system, bugs in such implementation, costs for the final programmer in inventing a way to express the semantics, etc), so most languages avoid a too much complex type system (even Haskell does this) and accept reasonable workarounds...

Bye,
bearophile

What is important is how much expressiveness you get from the complexity. here we get almost none. Considering complexity alone is not going to yield good results.

Reply via email to