estoy interesado en ejemplos reales de uso de combinadores de punto fijo (como el y-combinator en C++. ¿Ha usado un combinador de punto fijo con egg o bind en el código de carne y hueso?combinadores punto fijo en C++
I encontrado este ejemplo en huevo un poco densa:??
void egg_example()
{
using bll::_1;
using bll::_2;
int r =
fix2(
bll::ret<int>(
// \(f,a) -> a == 0 ? 1 : a * f(a-1)
bll::if_then_else_return(_2 == 0,
1,
_2 * lazy(_1)(_2 - 1)
)
)
) (5);
BOOST_CHECK(r == 5*4*3*2*1);
}
Puede explicar cómo funciona todo esto
¿hay un ejemplo simple agradable quizás usando bind tal vez con un menor número de dependencias que éste
Si escribe código que parezca que nadie podrá mantenerlo, incluido usted mismo. –
Mi punto no es que realmente quiera escribir combinados de punto fijo o lambdas en C++, sino que un ejemplo de aquellos en C++ sería edificante para alguien como yo que no está tan familiarizado con los idiomas en los que podrían ser más útil. –