Chers collègues,
Comme certains d'entre vous le savent, j'organise depuis deux ans
maintenant, un projet Tiger à l'ISTY (l'école d'ingénieurs rattachée à
l'Université de Versailles).
Je me suis fortement inspiré du projet Tiger de l'Epita (merci encore
pour la superbe documentation !).
Mes étudiants utilisent HAVM pour tester les programmes IR et en sont
contents. Néanmoins, le bug lié à la mauvaise execution d'un jump
pendant l'évaluation d'une expression agace souvent les étudiants (même
si avec un brin de persévérance on peut le contourner).
Toujours est-il que j'ai essayé de fixer ce bug dans HAVM, mais n'étant
pas un expert Haskell, cela était difficile. Finalement, je me suis dit
que ce serait plus rapide pour moi de ré-implémenter la VM dans un
langage que je maîtrise mieux. Je vous présente donc IRVM:
https://github.com/pablooliveira/irvm
Si vous souhaitez l'utiliser ou si vous avez des retours, n'hésitez pas
à m'en faire part. La stratégie pour résoudre le problème de
l'évaluation/jump est finalement assez simple, et je pense pourrait être
portée dans HAVM par quelqu'un de doué en Haskell (si vous souhaitez
échanger la dessus, n'hésitez pas également).
Cordialement,
Pablo Oliveira