Functional Programming Lecture Notes by David Walker
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.
Tyng-Ruey Chuang's
"Functional Programming" gives a condensed summary of the leading concepts of
functional programming. The basic concepts of functional programming are covered
in this PDF and expose the core principles and paradigms. Among other things, it
considers fold and unfold functions that are indispensable in the treatment of
data structures in a functional manner. The paper also considers parameterized
modules, which allow flexible and reusable parts of code. Main topics are
function evaluation and binding, raw items of how functions work and interact in
functional programming languages. Addressing these notions, Chuang's notes give
a chance for brief but intensive introduction to the techniques and practices of
functional programming.
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.
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.
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.