2009-09-25 36 views
20

¿Hay un equivalente de árboles de expresión .net que subyacen a LINQ para el JVM? Me gustaría implementar algunas estructuras de código LINQ like en Scala y me pregunto si también tengo que rodar mi propia biblioteca de árbol de expresiones.Árboles de expresiones Java

Actualización: No estoy interesado en un equivalente de linq. .net tiene un gran conjunto de herramientas de árbol de expresiones que facilitan la compilación dinámica de código en tiempo de ejecución y pueden ser ejecutables desde su código. El proyecto que quiero emprender no tiene relación con las bases de datos. El árbol de expresiones proporciona una forma fácil de describir el código que opera con los datos.

Si no hay una biblioteca, mi otra opción es crear una que emita código de bytes.

+1

Para JAVA intente Quare (codehaus). PERO, siempre que JAVA no admita funciones de alto orden (funciones como miembros de primera clase), no creo que estas "bibliotecas" sientan el verdadero LINQ. –

+0

Steve - ¿alguna vez llegaste a algún lado con esto? – MalcomTucker

+1

No. Acabamos de volver a Windows y usamos Windows. Para algunas cosas usamos LLVM con C++ en Unix. Sin embargo, estamos aislando las cosas de Java y usando .net para todo lo que requiera codegen dinámico. –

Respuesta

1

Lo más parecido que tengo conocimiento es de las bibliotecas linq4j y Optiq de Julian Hyde. Tienen un modelo de árbol de expresiones, soportan un modelo de programación tipo LINQ (sujeto a la sintaxis de Java) contra muchos tipos de fuentes de datos.

Cuestiones relacionadas