Smalltalk 程序严格地在数据和行为之间交替。消息(Smalltalk 中唯一的数据类型)是隐式的,在程序的每个方法调用语法中都会重新构建,并且是浅层的,这意味着每个消息对象中的槽始终包含对对象的引用,而不是其他消息的引用。1
这与大多数其他具有真实数据的语言形成对比,其中(例如)列表可能包含其他数据,并且不限于仅包含对象引用/函数值。
那么,如果没有这种严格的交替,消息可以作为值出现,Smalltalk 会是什么样子呢?突然间,Smalltalk 值的世界变得更大了:以前,一切都是对象,但现在有些东西是数据!
-
当然,充当具体化消息的对象可能会出现! ↩
原文: https://eighty-twenty.org/2025/06/25/smalltalk-strict-alternation