The first λ-calculus evaluating expression problem was very easy. The second one is similar:

Compute the value of (λx.x+1)((λy.y+2)3).

Just to make a bit more fun from it, let's solve it by writing the code in F#:

(fun x -> x + 1)((fun y -> y + 2)3)
|> printfn "%A"


And in JavaScript:

console.log((x => x + 1)((y => y + 2)(3)));


And in GO:

fmt.Println((func(x int) int { return x + 1; })((func(y int) int { return y + 2; })(3)))


Ok, In C#:

Console.WriteLine(((Func<int,int>)(x=>x+1))(((Func<int,int>)(y=>y+2))(3)));


More extreme, PHP:

print (function($x){ return$x+1; })((function($y){ return$y+2; })(3));


A lot of languages support the anonymous functions, the building block of lambda calculus, althougn not all of them flexible enough for λx.(x x).