An Introduction to Functional Programming Through Lambda CalculusFunctional programming is rooted in lambda calculus, which constitutes the world's smallest programming language. This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, and it assumes no prior knowledge of mathematics or functional programming. Cogent examples illuminate the central ideas, and numerous exercises appear throughout the text, offering reinforcement of key concepts. All problems feature complete solutions. |
Contents
Introduction | 1 |
X calculus | 15 |
4 | 21 |
6 | 30 |
Conditions booleans and numbers | 49 |
Recursion and arithmetic | 65 |
Types | 87 |
Lists and strings | 115 |
Composite values and trees | 153 |
Evaluation | 187 |
Functional programming in Standard ML | 207 |
Functional programming and LISP | 243 |
Answers to exercises | 273 |
Bibliography | 305 |
Other editions - View all
An Introduction to Functional Programming Through Lambda Calculus Greg Michaelson Limited preview - 2013 |
Common terms and phrases
abstraction add double ADD SUCC add three add2 APPEND applicative order argument expression binary tree body bool bool_type boolean bound pair bound variable calculus Chapter Church-Rosser theorem Common LISP composite values computing cond conditional expression CONS 1 CONS CONS 3 NIL construct datatype define definitions defun empty list error_type example expression2 false false false true func function application function call function expression functional languages functional programming halting problem identity function imperative languages integer intlist isbool ISNIL ISNUMB istype iszero lambda Lazy evaluation linear list LIST_ERROR MAKE_BOOL MAKE_NUMB MAPCAR mult mult1 nested node normal order notation numb_type objects operand operations order reduction order ẞ programming languages recursive function REPLACE select_first select_second sequence sign_value ẞ reduction Standard ML string list subtree SUCC SUCC succ zero tadd TFIND true false true true tuple Write a function xx.x