История изменений
Исправление den73, (текущая версия) :
Проверка на соответствие типу там есть
Этого иногда хватает, но универсальную печать любого типа, мне кажется, так не получится сделать, во всяком случае, если система типов расширяемая.
А чтобы знать тип объекта, то разве не нужно хранить этот тип в самом объекте?
Динамически типизированный язык с точной сборкой мусора вынужден хранить достаточно много информации о типе. Нужно знать, как минимум, размер объекта и какие поля в нём являются ссылками на другие объекты. Также нужно как-то реализовать проверки на соответствие типу. Это в целом дешевле, чем знание точного типа, но разница мне представляется очень малой. Возможно, я ошибаюсь.
Исходная версия den73, :
Проверка на соответствие типу там есть
Этого иногда хватает, но универсальную печать любого типа, мне кажется, так не получится сделать, во всяком случае, если система типов расширяемая.
А чтобы знать тип объекта, то разве не нужно хранить этот тип в самом объекте?
Динамически типизированный язык с точной сборкой мусора вынужден хранить достаточно много информации о типе. Нужно знать, как минимум, размер объекта, какие поля в нём являются ссылками на другие объекты. Также нужно как-то реализовать проверки на соответствие типу. Это в целом дешевле, чем знание точного типа, но разница мне представляется очень малой. Возможно, я ошибаюсь.