|
|
|
|
|
by upghost
384 days ago
|
|
It's actually more like "just use Haskell". Having written one of these[1] a decade ago and inflicting it (with the best of intentions) upon production code in anger, I can tell you this often leads to completely unmaintainable code. It is impossible to predict the effect of changing a method, tracing a method, debugging a method (where do I put the breakpoint??). The code reads beautifully though. Pray you never have to change it. The reason I say "just use haskell" instead of lisp is bc lisp generics suffer from this same problem. Btw if anyone has a solution to this "generic/multidispatch maintainability in a dynamically typed language" problem I would love to hear it. [1]: https://github.com/jjtolton/naga/blob/master/naga/tools.py |
|