Здравствуйте, Sharov, Вы писали:
_>>Во-первых создание и использование деревьев выражений вполне себе часто встречается в mainstream языках. Более того, вокруг этого даже построено множество сложных библиотек, реализующих различные DSL'и (далеко не только SQL). S>Все-таки у linq есть поддержка компилятора, т.е. встроен в язык, а у этих библиотек нет.
С учётом того как встроено, то лучше уж была бы библиотека, а не такая кривизна.
_>>Есть определённый набор претензий к реализации этой идеи в .net (т.к. некоторые особенности деревьев выражений linq портят производительность), S>Какие особенности?
Необходимость создавать дерево, обходить его с помощью рефлексии и генерировать нужный нам код при каждом вызове. Как минимум это должно было бы происходить один раз при старте приложения, а по нормальному вообще на стадии компиляции (с помощью метапрограммирования и статической интроспекции).