Did anyone actually ever do that or is this just a huge red herring?
Also, the above looks more like a data flow language where adders are necessarily components in the wiring diagram (try building a CPU without adders!).
Add can be a virtual method on B (so B.add(C)), but then you really want Dylan-esque multidispatch on both B and C. But those kind of debates fell out of style with the 90s.
Yes, it was a real issue. I have once had the misfortune to have to work on such a project, it was the by far hardest legacy code base to understand of any I have seen (even compared to those written be self taught PHP guys or those from academia).
Did anyone actually ever do that or is this just a huge red herring?
Also, the above looks more like a data flow language where adders are necessarily components in the wiring diagram (try building a CPU without adders!).
Add can be a virtual method on B (so B.add(C)), but then you really want Dylan-esque multidispatch on both B and C. But those kind of debates fell out of style with the 90s.