1

Я написал Scheme evaluator на Java, который выполняет некоторые трюки с параллелизацией. На данный момент это не поддается никому, кроме меня, но я получаю некоторые результаты.VM для схемы с поддержкой параллелизации

Интерфейс и средний конец в порядке для моих целей и являются частями, на которых я хочу сосредоточиться, но мой бэкэнс сосет. Он неоптимизирован и медленный или не имеет надлежащей оптимизации хвостового вызова.

Поэтому вместо этого я хочу настроить таргетинг на существующую виртуальную машину. Кто-нибудь знает кандидата на это? Он не должен быть предприятия готовы VM, но по крайней мере он должен

  • быть (относительно) легко предназначаться из схемы
  • быть (разумно) портативные
  • поддержки
  • параллельные конструкции из коробки

ответ

2

Microsoft CLR/.NET VM поддерживает параллелизм и имеет команду хвостового вызова. Реализация Mono - бесплатное программное обеспечение и довольно портативная.

В качестве альтернативы, вы можете настроить таргетинг на Racket, который поддерживает parallel constructs и сделает его очень легким для таргетинга из вашей системы Scheme.

1

Dybvig's Three Implementation Models For Scheme обеспечивает очень простую реализацию компилятора/vm на основе кучи с надлежащим продолжением и поддержкой оптимизации хвостового вызова. Код находится в Scheme, но он легко переводится. Я использовал его для реализации Scheme in Javascript.

0

Другой очевидной виртуальной машиной для виртуальной машины является виртуальная машина Java, которая приносит вам дополнительные преимущества Hotspot JITter и совместимость с другими программами Java.

Bigloo компилирует схему для Java VM byteecode или thr .NET cil.