Il existe un programme Gambit, MIT Programme, Programme PLT, Programme Poulet, Bigloo, Larcin, ...; alors il y a tous les lisps.
Pourtant, à ma connaissance, il n’ya pas un seul schéma/LISP populaire sur LLVM, même si LLVM fournit beaucoup de jolies choses comme:
Alors pourquoi n’y at-il pas un bon schéma/LISP sur LLVM?
LLVM en fournit beaucoup, mais il ne reste qu'une petite partie du temps d'exécution dont un langage fonctionnel a besoin. Et les appels C FFI ne sont pas compliqués, car LLVM laisse la gestion de la mémoire à une autre personne. Interagir avec Garbage Collector est ce qui rend les appels FFI difficiles dans des langages tels que Scheme.
Vous pourriez être intéressé par HLVM , mais c'est encore plus qu'expérimental à ce stade.
Il y a un très petit compilateur Scheme apparemment non optimisé ici:
http://www.ida.liu.se/~tobnu/scheme2llvm/
Prenant votre question à la lettre,
Je pense que construire un compilateur Scheme basé sur LLVM pourrait être très amusant. Les compilateurs Scheme dans SICP et PAIP en sont de bons exemples.
Pour CL: Clasp est une implémentation Common LISP sur LLVM et mocl implémente un sous-ensemble de Common LISP sur LLVM.
Pour Scheme: il existe un Schéma auto-hébergé-> LLVM démo et un prototype de back-end LLVM pour Bigloo Scheme .
Pour Clojure: il y a Rhin , qui est un LISP inspiré de Clojure.
Une chose à garder à l'esprit est que beaucoup de ces implémentations ont des FFI en C et des compilateurs de code natif qui sont significativement antérieurs à LLVM.
Je ne comprends peut-être pas tout à fait la question ou le contexte, mais je pense que vous pouvez utiliser ECL , qui est un LISP commun compilé en C, et utiliser le compilateur Clang pour cibler LLVM ( au lieu de GCC).
Je ne sais pas quel avantage (le cas échéant) cela vous apporterait, mais cela vous donnerait un LISP fonctionnant sur LLVM =].
CL-LLVM fournit des liaisons LISP communes pour LLVM. Il adopte l'approche FFI plutôt que d'essayer de générer directement l'assembly LLVM ou le code binaire.
Cette bibliothèque est disponible via Quicklisp.
mocl est un compilateur pour un sous-ensemble relativement statique de Common LISP. Il compile via LLVM/Clang.
GHC expérimente un système de base et obtient des résultats préliminaires vraiment intéressants sur son compilateur de code natif. Certes, c'est haskell. Mais ils ont récemment introduit de nouvelles modifications dans LLVM, facilitant ainsi les appels de queue IIRC. Cela pourrait être utile pour certaines implémentations de systèmes.