В Хаскеле:
f1 = f2
where x = 77
f2 = print x
Рефакторинг, поскольку IO просто запутывает проблему:
f1 = f2
where x = 77
f2 = x
Рефакторинг:
f1 = x
where x = 77
Рефакторинг, так как вы хотите переменную?
f1 = (\x -> x) 77
Бета-уменьшение:
f1 = 77
И у вас есть программа на Хаскеле.
Лямбда-исчисление не имеет числовых литералов (в отличие от Haskell), поэтому мы должны использовать Церковные цифры .
Таким образом, составление "77" для лямбда-исчисления:
f1 = \f.\x. f (f (f (f ( ... ) x)))
А вот ваша программа на Python в Lambda Calculus.