Worse: the opacity of modules and parametricity mean that you can't use reflection to hot patch a module until it's been fixed upstream. You have to go through a whole lot extra pain, including local or global forks and/or cajoling maintainers, to get a real fix in.
-
-
Show this thread
-
And you can't use introspection to access unpublished interfaces while you lobby the author to publish them or offer primitives you need even though he "doesn't see why" it matters. You could use copy/paste + obj.magic, but it's even less safe or maintainable than introspection.
Show this thread -
Overall, type rigidity, that allows the compiler to detect more issues earlier with clearer error messages, thus bringing a lot of goodness in the small, also brings a huge cascade of badness in the large, that a lot of myopes don't see and claim doesn't exist.
Show this thread -
The more ridiculous are those who can't not see all the badness of their "ecosystem", yet refuse to acknowledge the relationship between this badness and design decisions in their language. In the typed FP world, at least Haskell or Scala have coping mechanisms, unlike OCaml.
Show this thread
End of conversation
New conversation -
-
-
Sure, breaking APIs silently is a lot better. Cause we all know that stack traces are so much more fun than compiler errors.
-
How about not breaking APIs? Supporting two types without a sum with named constructors? Adding an optional field or option way down the type hierarchy without breaking everything? Issuing runtime errors in rare cases that are not supported anymore? Supporting code evolution…
- 16 more replies
New conversation -
-
-
Whether an API is robust or fragile is mostly independent of whether or not types are used. The same API, without type safety, would still break when the same small type change. Types have two effects: they make it more obvious that things break, and they influence API design.
-
If a programming language has a tendency to encourage fragile code, that's a legit complaint whether or not a type system is involved.
- 3 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!