1 / 241
文档名称:

An Introduction to Functional Programming through Lambda Calculus [Greg Michaelson].pdf

格式:pdf   页数:241
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

An Introduction to Functional Programming through Lambda Calculus [Greg Michaelson].pdf

上传人:kuo08091 2013/12/24 文件大小:0 KB

下载得到文件列表

An Introduction to Functional Programming through Lambda Calculus [Greg Michaelson].pdf

文档介绍

文档介绍:AN INTRODUCTION TO FUNCTIONAL PROGRAMMING THROUGH LAMBDA CALCULUS
Greg Michaelson
Department puting and Electrical Engineering
Heriot-Watt University
arton Campus
Edinburgh EH14 4AS
- 2 -
Preface
Overview
This book aims to provide a gentle introduction to functional programming. It is based on the premises that functional
programming provides pedagogic insights into many aspects puting and offers practical techniques for general
problem solving.
The approach taken is to start with pure λ calculus, Alonzo Church’s elegent but simple formalism putation,
and add syntactic layers for function definitions, booleans, integers, recursion, types, characters, lists and strings to
build a highish level functional notation. Along the way, a variety of topics are discussed including arithmetic, linear
list and binary tree processing, and alternative evaluation strategies. Finally, functional programming in Standard ML
MON LISP, using techniques developed throughout the book, are explored.
The material is presented sequentially. Each chapter depends on previous chapters. Within chapters, substantial use is
made of worked examples. Each chapter ends with exercises which are based directly on ideas and techniques from
that chapter. Specimen answers are included at the end of the book.
Readership
This book is intended for people who have taken a first course in an imperative programming language like Pascal,
FORTRAN or C and have written programs using arrays and sub-programs. There are no mathematical prerequisites
and no prior experience with functional programming is required.
The material from this book has been taught to third year puter Science students and to post
graduate Knowledge Based Systems MSc students.
Approach
This book does not try to present functional programming as plete paradigm puting. Thus, there is no
material on the formal semantics of functional languages or on transformation and implementation techniques. These
topics are