Здравствуйте, ·, Вы писали:
·>Как по мне, вызов метода — это частный случай отправки сообщения: синхронно, с получением результата, ровно одному получателю.
мне кажется ключевое, что мы теряем всю информацию о контексте выполнения. И тогда такие хотелки невозможно реализовать:
void consume_A(A & o) { o.f(); /* Здесь вызывается f из A */ }
void consume_B(B & o) { o.f(); /* Здесь вызывается f из B */ }
Конечно контекст может быть вложен в сообщение вручную, но тогда это ничем не отличается от вызова двух различных методов с разными именами.