--- In
iolanguage@..., Jeremy Tregunna
> > So by using a caps slot name during a slot assignment, the type of
> > the subject of that assignment is changed to the name of the slot.
> This was a special case created a couple of years ago to avoid manual
> setting of the type slot. But this is desired behaviour I suppose.
IMO, it would've made more sense if it used a special message on the RHS instead of a capitalized slot name on the LHS. E.g.
Sunglasses := Glasses newSubtype
This may allow the special behavior (check whether it should assign the type name) to be in newSubtype() instead of in every := assignment. (This would require that a message node used as an argument has a "parent" reference out to the message node which contains it, but that's a very useful practice in my experience.)