Здравствуйте, vdimas, Вы писали:
V>>>Это разные вещи.
I>>Ты упорный нечитатель. Одно высказывание от ИТ, второе — как его понял alex_public.
V>Даже не берясь судить, что Алекс имел ввиду, его утверждение является истинной.
Это блеск!
V>>>- ввиду того, что лямбды унутре выполнены как обычные объекты-замыкания, Y-комбинатор не нужен, достаточно обычной рекурсии в методе такого объекта.
V>>>Шах и мат. ))
I>>Покажи код, как без Y-комбинатора писать рекурсию в лямда-выражениях.
V>Я правильно понял твой вопрос, что ты хочешь посмотреть на некий гипотетический синтаксис выражений linq и соотв. сгенерённый компилятором объект-замыкание?
Нет, конечно. Я говорю о фактическом положении дел и о причинно-следственных связях. То есть, поскольку C# не умеет такую рекурсию иначе как через Y-комбинатор, следствием является отсутствие внятного реализации CTE.
То есть, все просто — никто не хочет мучиться, выписывая непойми что. И причина никак не в Linq.
I>>Ради чего ты тужился тогда ? "Я тоже так могу" ?
V>Там чёрным по-белому написано ради чего — посмотреть, насколько это практично.
V>Из-за двух лишних уровней косвенности описания, делающих невозможным автовывод типа делегата — получается абсолютно не практично.
То есть, тебе понятно, что причина не в LINQ, а в компиляторе ?