The smallest type change make entire APIs incompatible, hence a lot of pain in OCaml: forced upgrades, forced downgrades, crazy version update schedules, extra forks, reluctance to fix bad early choices that would break compatibility, etc. Types DIRECTLY cause library badness.
-
-
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 -
-
-
Thought: With full reflection, we can still analyze a function to assert it is abstract/parametric with respect to certain inputs. However, importantly, we would shift control of data hiding from provider (e.g. a module) to client. Regarding package management, Guix/Nix ftw.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
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!