|
|
|
|
|
by kazinator
504 days ago
|
|
Because implementing them is tedious, and you can always simulate them with simpler aggregation methods, or possibly lexical closures. When the language implementors start making larger programs, it will soon become apparent how the program organization is hampered without named, defined data structures. I didn't add structs to TXR Lisp until August 2015, a full six years from the start of the project. I don't remember it being all that much fun, except when I changed my mind about single inheritance and went multiple. The first commit for that was in December 2019. Another fun thing was inventing a macro system for defstruct, allowing new kinds of clauses to be written that can be used inside defstruct. Then using them to write a delegation mechanism in the form of :delegate and :mass-delegate clauses, whereby you can declare individual methods, or a swath of them, to delegate through another object. |
|