Jonathan Lang (>): > Why must we use 'submethod BUILD' instead of 'method BUILD'? Is it some > sort of chicken-and-egg dilemma?
Philosophically, BUILD submethods are submethods because they do infrastructural stuff that is very tied to the internals of the class. Submethods are "internal" methods rather than "external" methods (like accessors, for example). Submethods don't inherit; each BUILD is specific to the class it finds itself in and not its deriving classes. The only sense in which it's akin to a chicken-and-egg dilemma is that a BUILD submethod assumes that it can access the class's attributes, but not that it can use accessors and other external methods. // Carl