Read more
Functional languages like Miranda are used increasingly to teach introductory programming courses. The clear and elegant syntax, freedom from side-effects and amenability to proofs of program correctness all help to foster a disciplined approach to programming. This book introduces Miranda at a level appropriate for students with little or no prior experience of programming. The emphasis is on the process of crafting programs, solving problems, and avoiding common errors. Author's support page for the book This site includes the program text, sample solutions to the exercises and a teacher's guide.
List of contents
Preface
Part I: Basic Functional Programming
Chapter 1: Introducing functional programming
Chapter 2: Basic types and simple programs
Chapter 3: Reasoning about programs
Chapter 4: Data structures: Lists
Chapter 5: Reasoning about lists
Chapter 6: Generalization
Chapter 7: Further Generalization
Chapter 8: Types in Miranda
Chapter 9: Algebraic types
Chapter 10: Case study: Huffman codes
Chapter 11: Type abstraction
Chapter 12: Lazy evaluation & Lists revisited
Chapter 13: Infinite lists
Chapter 14: Program behaviour
Appendix A. Functional and Imperative programming
Appendix B Further reading
Appendix C Glossary
Appendix D Understanding programs
Appendix E Miranda operators
Appendix F Miranda Errors
Appendix G Some Useful Functions
Bibliography
Indexng
Summary
Functional languages like Miranda are used increasingly to teach introductory programming courses. The clear and elegant syntax, freedom from side-effects and amenability to proofs of program correctness all help to foster a disciplined approach to programming. This book introduces Miranda at a level appropriate for students with little or no prior experience of programming. The emphasis is on the process of crafting programs, solving problems, and avoiding common errors. Author's support page for the book This site includes the program text, sample solutions to the exercises and a teacher's guide.