Computer Science BooksFunctional Programming Books

Functional Programming I

Functional Programming I

Functional Programming I

Authored by Graham Hutton, this online course module introduces the basic axioms of functional programming using Haskell, which is a modern functional programming language. It introduces the learner to the basic ideas of functional programming: immutability of data, purity of function, higher-order functions. Students will work through practical examples and exercises to build a firm grasp of methods in functional programming. This course is aimed at understanding and applying core principles in Haskell to enable learners to fathom the advantages and paradigms of functional programming. Therefore, it's a good resource for beginners who wish to investigate functional programming through getting their hands dirty with Haskell.

Author(s):

sNA Pages
Similar Books
Functional Programming by Loyola Marymount University

Functional Programming by Loyola Marymount University

This is a resource provided by Loyola Marymount University on functional programming. It starts with a basic explanation and goes further into how one can make a shift from imperative programming to functional. The key topics it covers are higher-order functions, which are the backbone for doing functional programming in order to write abstract code reuse. This paper describes closures and purity, including side effects, in detail to apprise the reader about the value of immutability and functional purity. It describes both the functional and object-oriented programming paradigms, then it points to point-free programming, and concludes with an overview of the functional programming landscape. This should be a good reference for students and practitioners alike who want to know about the basics in functional programming and its theoretical underpinnings.

sNA Pages
Functional Programming Lecture Notes by David Walker

Functional Programming Lecture Notes by David Walker

David Walker's 'Functional Programming Lecture Notes' give quite an extended introduction to functional programming using OCaml. The notes introduce the reader to the very basics of OCaml and simple manipulations of data, from thinking in recursion to problem-solving. It covers Polymorphism and Higher-Order programming, commonly referred to as PolyHO. It will discuss functions operating on other functions and even data. Pipelines and datatypes have been explained purely from functional programming paradigms. It first introduces the functional evaluation model and functional space model, thereby introducing the reader to the theoretical points of view of functional programming. Equational reasoning, modules, functors, and modular reasoning are other topics treated within this context, while more practical aspects concern mutable data structures, threads, and parallel complexity models. This book will no doubt be very useful to those readers who would wish to become acquainted with both the theory and practice of functional programming.

sNA Pages
Introduction to Functional Programming

Introduction to Functional Programming

John Harrison's 'Introduction to Functional Programming', This set of notes provides a very accessible introduction to the fundamental principles and methods of functional programming in general. The PDF begins with an investigation of lambda calculus as a theoretical framework for functional programming and proceeds further with the review of its application as a programming language. Types are considered in the notes just to give a glimpse into type systems and how they play their role in functional programming. This document serves as an introduction to ML: a meta-language that practically introduces the concepts of programming. It also covers the importance of proving programs correct by describing methods for the reliability of programs. Finally, effective ML covers the best practices and techniques to write robust and efficient functional programs. This book is a good reference for learners who want to understand both the theoretical underpinnings and practical application of functional programming.

s168 Pages
Functional Programming III

Functional Programming III

This course note, from the University of Edinburgh and offered online, emphasizes from a very practical point of view how to apply basic functional programming concepts in a graphical environment. Major topics to be covered include recursion, abstraction, higher-order functions, and several different data types-how all these concepts can be used to solve problems is demonstrated. The note introduces theoretical aspects but underlines their practical relevance by showing how these can be put into practice within graphical programming contexts. Learners develop a solid, theoretically based understanding of functional programming principles and get real practical experience applying these principles to graphical applications. This resource takes an integrated approach in the way that it interrelates theory and practice, hence acting as a bridge from concepts of functional programming to real-life practice.

sNA Pages