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