* [[!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 ##
* [How not to explain Haskell monads](http://mvanier.livejournal.com/1205.html)
* [The State Monad: a tutorial for the confused?](http://coder.bsimmons.name/blog/2009/10/the-state-monad-a-tutorial-for-the-confused/)
* Haskell state monads: [part 1](http://mvanier.livejournal.com/1765.html) [part 2](http://mvanier.livejournal.com/1901.html) [part 3](http://mvanier.livejournal.com/4586.html) [part 4](http://mvanier.livejournal.com/4647.html)<p>
-
* [Research Papers/Monads and Arrows](http://www.haskell.org/haskellwiki/Research_papers/Monads_and_arrows)
* [Eugenio Moggi, Notions of Computation and Monads](http://www.disi.unige.it/person/MoggiE/ftp/ic91.pdf): Information and Computation 93 (1) 1991.
* [Philip Wadler. The essence of functional programming](http://homepages.inf.ed.ac.uk/wadler/papers/essence/essence.ps):
## 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)