Combinatory logic and lambda-conversion were originally devised in the
1920s for investigating the foundations of mathematics using the basic
concept of 'operation' instead of 'set'. They have now developed into
linguistic tools, useful in several branches of logic and computer
science, especially in the study of programming languages. These notes
form a simple introduction to the two topics, suitable for a reader who
has no previous knowledge of combinatory logic, but has taken an
undergraduate course in predicate calculus and recursive functions. The
key ideas and basic results are presented, as well as a number of more
specialised topics, and man), exercises are included to provide
manipulative practice.