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