Notes on Functional Programming with Haskell (PDF 184P)
Notes on Functional Programming with Haskell (PDF 184P)
Notes on Functional Programming with Haskell (PDF 184P)
This note covers the following topics: functions and their
definitions, using the hugs interpreter, haskell basics, higher order
functions, more list notations, more on data types, input-output, haskell
laws, program synthesis, models of reduction, divide and conquer algorithms,
infinite data structures.
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.
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.
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.