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