Move slots to their most appropriate class definition
Created by: reiniervandijk
It doesn't seem to make a lot of sense to have these two slots in the vanilla-mixin* definition:
(%corners% nil) (%vertex-array% nil)
Would've expected those slots in base-object. I think it qualifies as an issue, a logically designed language is imperative. These two slots don't follow that cause.
By genworks on 2013-10-26 02:49:07 UTC
These were put there for a reason - they are the minimal placeholders in vanilla-mixin to avoid crashing of tasty if you try to include a non-geometric object in the display-list. But you are right, it's not a clean way to do it. We'll make tasty smarter about what it tries to do with non-geometric objects in display list, and remove these slots from here.
By reiniervandijk on 2013-11-01 07:34:35 UTC
I understand the purpose of these slots, but if they are abstract slots and merely templates for subclasses that are supposed to be overridden, consider maybe to use:
(%corners% *undefined*) (%vertex-array% *undefined*)
(%corners% (error "gendl: not implemented, should be overridden in subclasses.") (%vertex-array% (error "gendl: not implemented, should be overridden in subclasses.")
or add a slot:
That you put to true on subclassing.