Модель актера хорошо описана Гулом Агой в его техническом отчете "Актеры: модель параллельных вычислений в распределенных системах".
На стр. 49 он объясняет команду "стать":
become <expression>
После вызова "стать X" актер отправит все свои сообщения в другой почтовый ящик (X).
Я не уверен, однако, как это реализовано (оно вообще реализовано) на таких языках, как Erlang и Scala. Это somethign мне нужно закодировать вручную? Как насчет эффективности? Agha показывает реализацию стека, используя передачу сообщений. Каждый раз, когда выполняется поп или нажатие, к какой-то актеру добавляется еще одна ссылка для пересылки. После нескольких сотен тысяч операций я ожидал, что такая реализация будет тратить слишком много времени на пересылку сообщений и не выполнять фактическую работу, если только некоторые под капотом выполнялась хорошая оптимизация.
Итак, мой вопрос: как пересылка (или "стать" ) реализована на типичных языках-актерах, таких как Erlang, Scala (и библиотеки для других языков)?