
The Fun of Programming – Gibbons, de Moer and Bird (2003) - agumonkey
http://www.cs.ox.ac.uk/publications/books/fop/
======
brudgers
A link to a PDF: [http://conal.net/papers/functional-images/fop-
conal.pdf](http://conal.net/papers/functional-images/fop-conal.pdf)

~~~
fop-throwaway
Here's a more complete set of links I found by googling the chapter titles.
Unfortunately, I could only find 7 of the 12 chapters easily online.

Preface [http://www.cs.ox.ac.uk/jeremy.gibbons/publications/fop-
prefa...](http://www.cs.ox.ac.uk/jeremy.gibbons/publications/fop-preface.pdf)

Chapter 3, Origami programming, Jeremy Gibbons
[https://www.staff.science.uu.nl/~3860418/msc/11_infomtpt/pap...](https://www.staff.science.uu.nl/~3860418/msc/11_infomtpt/papers/origami-
programming_Gibbons.pdf)

Chapter 4, Describing and interpreting music in Haskell, Paul Hudak
[http://cs.yale.edu/c2/images/uploads/HaskoreFUN.pdf](http://cs.yale.edu/c2/images/uploads/HaskoreFUN.pdf)

Chapter 6, How to write a financial contract, Simon Peyton Jones and Jean-Marc
Eber [http://research.microsoft.com/en-
us/um/people/simonpj/Papers...](http://research.microsoft.com/en-
us/um/people/simonpj/Papers/financial-contracts/pj-eber.ps)

Chapter 7, Functional images, Conal Elliott
[http://conal.net/papers/functional-images/fop-
conal.pdf](http://conal.net/papers/functional-images/fop-conal.pdf)

Chapter 10, Arrows and computation, Ross Paterson
[http://www.staff.city.ac.uk/~ross/papers/fop.ps.gz](http://www.staff.city.ac.uk/~ross/papers/fop.ps.gz)

Chapter 11, A prettier printer, Philip Wadler
[http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettie...](http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf)

Chapter 12, Fun with phantom types, Ralf Hinze
[http://www.cs.ox.ac.uk/ralf.hinze/publications/With.pdf](http://www.cs.ox.ac.uk/ralf.hinze/publications/With.pdf)

Missing Chapters:

Chapter 1, Fun with binary heap trees, Chris Okasaki (Perhaps bsznjyewgd would
like to share his copy?)

Chapter 2, Specification-based testing with QuickCheck, Koen Claessen and John
Hughes

Chapter 5, Mechanising fusion, Ganesh Sittampalam and Oege de Moor

Chapter 8, Functional hardware description in Lava, Koen Claessen, Mary
Sheeran and Satnam Singh

Chapter 9, Combinators for logic programming, Mike Spivey and Silvija Seres

~~~
bsznjyewgd
I found it: [https://he.palgrave.com/resources/sample-
chapters/9780333992...](https://he.palgrave.com/resources/sample-
chapters/9780333992852_sample.pdf)

It's the sample chapter from the product page on Springer:
[http://www.springer.com/us/book/9781403907721](http://www.springer.com/us/book/9781403907721)

Maxiphobic heaps are probably the most intuitive implementation of the
priority queue data structure, and they're meldable to boot. I only wish
weight-balanced trees are as simple (to prove the invariant) as the height-
balanced AVL trees.

------
asQuirreL
On a similar theme, this year there is a conference called Wadlerfest [1]
running in Edinburgh in honour of Phil Wadler's 60th birthday.

[1] [http://events.inf.ed.ac.uk/wf2016/](http://events.inf.ed.ac.uk/wf2016/)

