jank développe sa propre représentation intermédiaire personnalisée
Original : Jank now has its own custom IR
Pourquoi c'est important
Première IR spécifique à Clojure pour optimisations avancées au niveau langage
Le langage jank annonce le développement d'une IR personnalisée pour optimiser les performances et concurrencer la JVM. Cette nouvelle représentation intermédiaire opère au niveau sémantique de Clojure.
Le créateur Jeaye Wilkerson dévoile une nouvelle représentation intermédiaire (IR) pour jank, conçue spécifiquement pour Clojure contrairement à LLVM IR qui opère à un niveau trop bas. Cette IR personnalisée comprend les concepts Clojure comme les vars, structures de données persistantes et séquences paresseuses. Historiquement, jank déléguait l'optimisation à LLVM, mais le dynamisme de Clojure avec son polymorphisme et indirection limitait les opportunités d'optimisation. La nouvelle IR stockée en mémoire comme structures C++ est rendue en données Clojure pour le débogage. Aucun autre dialecte Clojure n'a franchi cette étape selon l'auteur.