Comments 12
"(Any) -> Any?" как-то хреново выглядит для статически типизированного языка
Я подозреваю, что это частично связано с тем, что там внизу Java, частично с тем, что потенциально будет проблемно построить иерархию сообщений/ответов — ведь есть еще служебные сообщения и сообщения жизненного цикла.
Если посмотреть в реализацию актора, возврат там вообще только проверяется на null и все.
Но выглядит не очень, согласен.
не смотрели в сторону kotlinx.coroutines? там есть реализация акторов
Смотрел, но на тот момент (kotlin 1.0.6) они были в зачаточном состоянии, и пришлось бы акторы реализовать самостоятельно.
Саму модель реализовать не зашкаливающе сложно, да. Однако чтобы это еще и быстро работало (читай, легковесные треды) и учесть крайние случаи — уже достаточно трудозатратно. Ну и писать свой велосипед тоже как-то не очень...
Какие такие крайние случаи затратно учитывать, не могу себе представить по недостатку опыта. Не могли бы вы поделиться?
Ну так-то вообще можно дойти до написания на ассемблере.
Из примеров — да пусть даже обработка исключений и корректное завершение работы, которые описаны в статье.
Опыт использования библиотеки Puniverse Quasar для акторов