Ответ 1
Scala 2.8.0 позволит продолжить, и они будут переносимыми.
Я ищу быстрый язык (то есть язык, который может быть скомпилирован изначально для достижения производительности не более чем в 3 или 4 раза медленнее, чем C), который поддерживает переносимые продолжения. Под этим я подразумеваю продолжение, которое может быть сериализовано на одном компьютере и десериализовано на другом.
Я знаю, что SISC может это сделать (реализация схемы в Java), но медленная. То же для Rhino (реализация Javascript на Java).
Scala 2.8.0 позволит продолжить, и они будут переносимыми.
Вы отметили OCaml? Он может быть скомпилирован и должен быть чуть медленнее, чем C.
Хотя я согласен с тем, что диалекты Caml могут быть отличным выбором, я чувствую, что я должен упомянуть Gambit Scheme. Вместе с Termite, подобной erlang-фреймворку, он поддерживает сериализацию продолжений, передачу их по проводу и многое другое.
http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page
Он компилируется в C-код.
Возможно выполнение сериализуемых продолжений в Java с использованием Apache JavaFlow - если вы идете по этому маршруту, то библиотека Swing Continuations по адресу:
http://www.exploringexcellence.com/swingcontinuations/download.html
делает кодирование намного приятнее.