This book contains below topics, Programming in Standard ML, Types, values, and effects, Declarations, Functions, Products and records, Case analysis, Recursive functions, Concrete data types, Higher order functions, Modules.
Author(s): Robert Harper, Carnegie Mellon University
This page covers the following topics related to Functional Programming, The Basics, Language Support, Moving From Imperative to Functional, Higher Order Functions, Closures, Purity and Side Effects, Theoretical Foundations, Functional vs. ObjectOriented, PointFree Programming, Summary.
David Walkers 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 problemsolving. It covers Polymorphism and HigherOrder 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.
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, higherorder 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, its a good resource for beginners who wish to investigate functional programming through getting their hands dirty with Haskell.