1

J'ai écrit un Scheme evaluator en Java qui fait quelques astuces de parallélisation. Ce n'est utilisable que par moi pour le moment, mais j'ai des résultats. Le frontend et le middle-end conviennent à mes objectifs et sont les parties sur lesquelles je veux me concentrer, mais mon backend est nul. Il n'est pas optimisé et il est lent ou ne dispose pas d'une optimisation correcte de l'appel. Donc, à la place, je veux cibler une machine virtuelle existante. Est-ce que quelqu'un connaît un candidat pour cela? Il ne doit pas être une machine virtuelle prête pour l'entreprise, mais au moins il se doitVM pour Scheme avec prise en charge de la parallélisation

  • être (relativement) facile à cibler du schéma
  • être (raisonnablement) portables
  • support constructions parallèles de la boîte

Répondre

2

La machine virtuelle Microsoft CLR/.NET prend en charge le parallélisme et dispose d'une instruction d'appel de fin. L'implémentation Mono est un logiciel libre et assez portable.

Vous pouvez également cibler Racket, qui prend en charge parallel constructs et le rendrait très facile à cibler à partir de votre système Scheme.

1

Le Three Implementation Models For Scheme de Dybvig fournit une implémentation compilateur/vm très simple basée sur le tas, avec une prise en charge adéquate de la poursuite et de l'optimisation des appels. Le code est dans Scheme mais il est facilement traduisible. Je l'ai utilisé pour mettre en œuvre Scheme in Javascript.

0

L'autre VM évidente à cibler est la VM Java, qui vous apporte les avantages supplémentaires du Hotspot JITter et l'interopérabilité avec d'autres programmes Java.

Bigloo compile le schéma au Java bytecode ou thr .NET cil.

Questions connexes