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.
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.
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.