Arbres d'expression Java

expression-trees java jvm linq scala

Question

Existe-t-il un équivalent des arbres d’expression .net qui est à la base de LINQ pour la JVM ? Je souhaiterais implémenter des structures de code analogues à LINQ dans Scala et je me demande si je dois aussi lancer ma propre bibliothèque d’arbres d’expression.

Mise à jour: un équivalent de linq ne m'intéresse pas. .net contient un grand nombre d’outils d’arbre d’expression qui facilitent la compilation dynamique du code au moment de l’exécution. Le projet que je veux entreprendre n'a aucun rapport avec les bases de données. Les arborescences d'expression fournissent un moyen simple de décrire un code qui agit sur des données.

S'il n'y a pas de bibliothèque, mon autre option, à mon avis, est de créer une bibliothèque émettant du code octet.

Réponse populaire

Depuis la version 2.10, Scala dispose de macros qui vous permettent d’accéder aux arborescences de syntaxe abstraite au moment de la compilation: http://scalamacros.org/ . Voici quelques exemples de leur utilisation, y compris un croquis de LINQ: http://scalamacros.org/paperstalks/2013-12-02-WhatAreMacrosGoodFor.pdf .




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi