Je ne peux pas envelopper la tête autour de la composition de fonction suivante:Nested Fonction Composition
function plus_one(x) {
return x + 1;
}
function trans(f) {
return function(x) {
return 2 * f(2 * x);
};
}
function twice(f) {
return function(x) {
return f(f(x));
}
}
Lorsque je tente d'évaluer ((twice)(trans))(plus_one)(1)
C'est ce que je reçois, en supposant plus_one
est f f(2f(2x))=2f(2*2f(2x))=2f(4f(2x)) = 2*(4*(2 + 1)) = 24.
Mais tapant dans l'intrepreter révèle qu'il est 20.
Toute aide est grandement appréciée.
Un grand merci à l'avance.
pourquoi la balise 'lambda-calculus'? – naomik