y-combinator

Я знаю, что могу написать y-комбинатор В SML так:: Сначала объявите новый тип данных, чтобы обойти несоответствие типов из-за цикличности. datatype 'a mu = Roll of ('a mu -> 'a) val unroll = fn Roll x => x Теперь вы можете легко определить y-комбинатор: val Y = fn f => (fn x => fn a => f (...

регулярная функция может содержать вызов себе в своем определении, без проблем. Я не могу понять, как это сделать с лямбда-функцией, хотя по той простой причине, что лямбда-функция не имеет имени, на которое можно ссылаться. Есть ли способ сделать это? Как?...