Here is a function declaration

makeAddress :: Int -> String -> String -> (Int, String, String)
makeAddress number street town = (number,street,town)

and here is a lambda function version

makeAddressLambda =  (\number -> (\street -> (\town -> (number, street, town))))

How would this lambda version look in lambda calculus? Like this?

\number.\street.\town.(number street town)

then

(\number.\street.\town.(number street town) (123 "Sunny St." "Fergus")
(\street.\town.(123 street town) ("Sunny St." "Fergus")
(\town.(123 "Sunny St.") ("Fergus")
(123 "Sunny St." "Fergus")

Not always sure.

LB