Вопрос у меня про эти два понятия (ну чтобы не было недопониманий):
continuation и
coroutine.
Я знаю про плагин для ограниченных продолжений в scala, но возможно он устареет к версии 2.11, да и сейчас уже не поддерживается более года и имеет неисправленные баги. В scala-internals Мартин Одерски высказался за то, чтобы подумать о реализации продолжений с помощью макросов, т.к. сейчас у них нет ресурсов для поддержки плагина, да и вообще он имеет фундаментальные изъяны.
Меж тем эти две концепции крайне желаемы сообществом. А например jetty или netty (не помню) использует реализацию продолжений на java от apache, которая работает с байткодом. И есть тесты, которые показывают 10-ти кратный прирост производительности по сравнению с реализацией без продолжений.
В связи с этим мне интересно, ведется ли какая-либо работа в данном направлении? Может кто-то слышал. Или что-то уже реализованно в каких-то библиотеках.
Дело в том, что у меня есть идеи по поводу того, как можно реализовать ограниченные продолжения и сопрограммы в scala с помощью макросов. Причем по удобству использования сопрограммы не будут уступать аналогам из python или php.
Проблема в том, что я пока не достаточно изучил собственно макросы. Поэтому реализация может занять несколько месяцев. А к тому моменту может оказаться, что «всё уже сделано до нас».
В общем этот вопрос о целесообразности данной работы в целом и о возможности с кем-то обуждать концепции, чтобы в дальнейшем можно было предложить подобную реализацию для включения в стандартную библиотеку scala, т.к. моей компетенции может не хватать для соответствия стандартам, принятым в самой scala.
ps: забыл сказать ещё, что по идее с помощью продолжений можно будет сделать перезапуски по типу как в ruby