По крайней мере, в Squeak и Pharo каждый класс имеет соответствующий метакласс, который содержит классовые методы класса. Это в каждом случае Smalltalk?
Существуют ли Smalltalks без метаклассов?
comment
Просто любопытно - с чем связан ваш вопрос?
- person Bob Jarvis - Reinstate Monica   schedule 18.11.2010
comment
Реализация языка-потомка Smalltalk-80.
- person Richard Durr   schedule 19.11.2010
Ответы (2)
Согласно статье Википедии о Smalltalk, метаклассы были введены в Smalltalk-80, и я думаю, что все версии теперь они в общем употреблении.
В более ранних версиях Smalltalk-71, Smalltalk-72 и Smalltalk-76 их не было.
person
Don Roby
schedule
14.11.2010
Вы можете проверить собственный язык. Это основанный на прототипе потомок Smalltalk.
person
Igor Stasenko
schedule
10.12.2010
Да, хотя технически это правда, у Self тоже нет классов… (по крайней мере, на уровне пользователя :)
- person Richard Durr; 11.12.2010
С точки зрения виртуальной машины smalltalk метакласса не существует. Есть только классы. т.е. каждый объект имеет собственный класс, хотя и определяется его поведение. Что касается меня, концепция метаклассов является «необязательной» в том смысле, что вы можете изменить систему smalltalk до такой степени, что у вас останутся только классы. И эту систему по-прежнему можно будет справедливо назвать Smalltalk.
- person Igor Stasenko; 11.12.2010