* [[!wikipedia Functional programming]]
* [[!wikipedia Purely functional]]
* [[!wikipedia Referential transparency (computer science)]]
+* [[!wikipedia Side effect (computer science) desc="Side effects"]]
* [[!wikipedia Imperative programming]]
## General issues about variables and scope in programming languages ##
* [The Y Combinator](http://dangermouse.brynmawr.edu/cs245/ycomb_jim.html) derives the applicative-order Y-combinator from scratch, in Scheme. This derivation is similar in flavor to the derivation found in The Little Schemer, but uses a slightly different starting approach...
* [The church of the least fixed point, by Sans Pareil](http://www.springerlink.com/content/n4t2v573m58g2755/)
+## Folds ##
+
+* [[!wikipedia Fold (higher-order function)]]
+
## Types ##
## Monads ##
* [[!wikipedia Monad (functional programming) desc="Monads in Functional Programming"]]
* [Daniel Friedman. A Schemer's View of Monads](/schemersviewofmonads.ps): from <https://www.cs.indiana.edu/cgi-pub/c311/doku.php?id=home> but the link above is to a local copy.
-* [A Gentle Intro to Haskell: About Monads](http://www.haskell.org/tutorial/monads.html)
+* [A Gentle Intro to Haskell: About Monads](http://www.haskell.org/tutorial/monads.html) (link currently broken, check <http://www.haskell.org/haskellwiki/Tutorials>)
* [All About Monads](http://haskell.org/all_about_monads/html/index.html)
* From HaskwellWiki:
[Monad tutorials timeline](http://www.haskell.org/haskellwiki/Monad_tutorials_timeline)
## Side-effects / mutation ##
+* [[!wikipedia Referential transparency (computer science)]]
* [[!wikipedia Side effect (computer science) desc="Side effects"]]
+* [[!wikipedia Imperative programming]]
* [[!wikipedia Reference (computer science) desc="References"]]
* [[!wikipedia Pointer (computing) desc="Pointers"]]
* [Pointers in OCaml](http://caml.inria.fr/resources/doc/guides/pointers.html)