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.
Gert Smolka's "Introduction to Functional Programming and the Structure of Programming
Languages using OCaml" is an extensive tutorial that deals with the functional
principles of programming using OCaml. The document first addresses basic issues
like syntax and semantics, thereby providing a solid grounding in the
theoretical issues concerning programming languages. Polymorphic functions are
considered, iteration has been discussed, and lists, constructor types, and
trees have been dealt with, including linearization. The notes include practical
aspects such as parsing and a mini OCaml interpreter to help in the
implementation of functional languages. Additional topics include running time
analysis, inductive correctness proofs, and arrays. It takes a well-rounded
approach to functional programming and data structures; both theoretical ideas
and practice are emphasized.
This
is a resource provided by Loyola Marymount University on functional programming.
It starts with a basic explanation and goes further into how one can make a
shift from imperative programming to functional. The key topics it covers are
higher-order functions, which are the backbone for doing functional programming
in order to write abstract code reuse. This paper describes closures and purity,
including side effects, in detail to apprise the reader about the value of
immutability and functional purity. It describes both the functional and
object-oriented programming paradigms, then it points to point-free programming,
and concludes with an overview of the functional programming landscape. This
should be a good reference for students and practitioners alike who want to know
about the basics in functional programming and its theoretical underpinnings.
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.
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
&