Close
Register
Close Window

F17 OpenDSA entire modules

Chapter 22 Lambda Calculus

Show Source |    | About   «  22.8. Church Numerals and Booleans   ::   Contents   ::   23.1. Defining SLang 1  »

22.9. Recursive Functions

22.9.1. RP 19 Part 1

This problem will give you practice with fixed-point combinators.

To reduce syntactic clutter in this problem, we will take some shortcuts in writing \(\lambda\) expressions. First, we will drop all but the first \(\lambda\) and all but the last dot for (curried) functions with two or more parameters. So, for example, we will use:

\[\lambda abcd.E\]

as an abbreviation for:

\[\lambda a.\!\lambda b.\!\lambda c.\!\lambda d.E\]

Second, to cut down on parentheses, we will use \((u\ v\ w\ x\ y\ z)\) as an abbreviation for \((((((u\ v)\ w)\ x)\ y)\ z)\). In essence, we are making function application left-associative. This notation is to be used only for this review problem. Do NOT use it for any assignments, exams, or other review problems.

   «  22.8. Church Numerals and Booleans   ::   Contents   ::   23.1. Defining SLang 1  »

nsf
Close Window