This repository has been archived by the owner on Nov 4, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
books.tex
34 lines (23 loc) · 2.9 KB
/
books.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
\section{Books}
You are not required to purchase any books for this module as there are many resources available online, including a number of free books. For those of you who prefer to have a book with most of the content in one place, I can recommend the following, all of which are introductory texts. Each book which is recommended here teaches functional programming in a different way\footnote{This reading list is also available on the library website at \url{https://warwick.rl.talis.com/modules/cs141.html} which lets you find copies in the library.}:
\subsubsection{Learn you a Haskell for Great Good!} \vspace{-0.5cm}
\emph{Miran Lipova\v{c}a}, No Starch Press.
This book is also a general introduction to Haskell with a greater emphasis on concepts in functional programming. If you prefer to learn by focusing on theory and concepts which you can then later apply to problems when you encounter them, this book is for you. It is also available for free on the book's website at:
\begin{center}
\url{http://learnyouahaskell.com/}
\end{center}
\subsubsection{Programming in Haskell (2nd edition)} \vspace{-0.5cm}
\emph{Graham Hutton}, Cambridge University Press.
A general introduction to Haskell which is well-structured and covers all of the major topics from the lectures in a vaguely similar order. This is the ``main text'' and this guide includes references to chapters in Hutton's book for further reading. Note: if you are thinking of buying the first edition, which is likely cheaper at this point, it doesn't cover the later, more advanced topics of this module.
\subsubsection{Real World Haskell} \vspace{-0.5cm}
\emph{Bryan O'Sullivan, Don Stewart, and John Goerzen}, O'Reilly.
This book focuses heavily on solving practical tasks using Haskell after only a brief introduction to the basic concepts. This book is for you if you prefer to learn by seeing how particular techniques are used in action. This book is quite old now, so some of the libraries and techniques used in the book may be outdated by now, but the book is also available for free on the book's website at:
\begin{center}
\url{http://book.realworldhaskell.org/}
\end{center}
\subsubsection{The Haskell School of Expression} \vspace{-0.5cm}
\emph{Paul Hudak}, Cambridge University Press.
This book teaches functional programming graphically at the start and later through music. If you like visual and auditory results while you are learning, this book may be for you. Like Real World Haskell, this book is slightly older and some of the code shown may not work without modifications.
\subsubsection{Introduction to Functional Programming} \vspace{-0.5cm}
\emph{Richard Bird and Philip Wadler}, Prentice Hall.
This is an excellent, but old, introduction to functional programming. This book came out before I was born and uses a Haskell precursor language called Miranda. However, it does a very good job at teaching the foundations of functional programming.