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.
These lecture notes by Piyush
P Kurur elaborates on various functional programming topics in depth. The
contents of the following topics are functional programming-introduction,
pattern matching, and some useful algorithms like The Sieve of Eratosthenes and
the Fibonacci Series. Advanced topics include folding of lists, lambda calculus,
modules, type inference, and type classes. Examples of practical applications,
such as an expression evaluator and functions with variable arguments, will
provide learners with a sense of how theoretical material might be applied in
real-world situations. These detailed lecture notes are intended for readers who
would like to go through functional programming in depth - both explanations and
exercises.
Simon Thompson's Type Theory and Functional Programming explains the
connection between type theory and functional programming. The book starts with
an introduction to propositional and predicate logic, which gives a basis needed
to understand type theory. It then leads on to functional programming and
&
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.