I haven't played with the relation example yet, but will real soon. Just some initial thoughts...
I like RelationSlot. To me association seems one-way while a relation is two-way.
btw, Is there some reason to not match the syntax of the often cited paper "Flexible Object Layout" ?
I see one advantage is that its easier to read all the slot names vertically aligned.
Object subclass: #SlotExampleMovie
slots: {
#name.
#year.
#director => ToOneRelationSlot opposite: #directedMovies class: #SlotExamplePerson.
#actors => ToManyRelationSlot opposite: #actedInMovies class: #SlotExamplePerson. }
classVariables: { }
category: 'SlotAssociations-Tests-Example'
Also maybe an alternative slot class name so that it reads more like a sentence... "#director related to one #directedMovies in class #SlotExamplePerson"
Object subclass: #SlotExampleMovie
slots: {
#name.
#year.
#director => RelatedToOne inverse: #directedMovies inClass: #SlotExamplePerson.
#actors => RelatedToMany inverse: #actedInMovies inClass: #SlotExamplePerson. }
classVariables: { }
category: 'SlotAssociations-Tests-Example'