# Blog articles/Monads

### From HaskellWiki

< Blog articles(Difference between revisions)

DonStewart (Talk | contribs) |
(Added a link.) |
||

(36 intermediate revisions by 8 users not shown) | |||

Line 10: | Line 10: | ||

* [http://sigfpe.wordpress.com/2007/03/04/monads-vector-spaces-and-quantum-mechanics-pt-ii/ Monads, Vector Spaces and Quantum Mechanics pt. II] |
* [http://sigfpe.wordpress.com/2007/03/04/monads-vector-spaces-and-quantum-mechanics-pt-ii/ Monads, Vector Spaces and Quantum Mechanics pt. II] |
||

* [http://sigfpe.blogspot.com/2007/06/how-to-write-tolerably-efficient.html How to write tolerably efficient optimzation code without really trying...] |
* [http://sigfpe.blogspot.com/2007/06/how-to-write-tolerably-efficient.html How to write tolerably efficient optimzation code without really trying...] |
||

+ | * [http://sigfpe.blogspot.com/2007/06/monads-from-algebra-and-the-gray-code.html Monads from Algebra and the the Gray Code from Groups] |
||

+ | * [http://sigfpe.blogspot.com/2006/06/monads-kleisli-arrows-comonads-and.html Monads, Kleisli Arrows, Comonads and other Rambling Thoughts] |
||

+ | * [http://sigfpe.blogspot.com/2007/11/io-monad-for-people-who-simply-dont.html The IO Monad for People who Simply Don't Care] |
||

* [http://cgi.cse.unsw.edu.au/~dons/blog/2006/12/11#interpreters-with-reader-monads Quick interpreters with the Reader monad] |
* [http://cgi.cse.unsw.edu.au/~dons/blog/2006/12/11#interpreters-with-reader-monads Quick interpreters with the Reader monad] |
||

* [http://hierodule.livejournal.com/69052.html Monads] |
* [http://hierodule.livejournal.com/69052.html Monads] |
||

Line 30: | Line 33: | ||

* [http://therning.org/magnus/archives/269 repeat and sequence] |
* [http://therning.org/magnus/archives/269 repeat and sequence] |
||

* [http://lukeplant.me.uk/blog.php?id=1107301659 What's a monad?] |
* [http://lukeplant.me.uk/blog.php?id=1107301659 What's a monad?] |
||

+ | * [http://comonad.com/reader/2007/parameterized-monads-in-haskell/ Parameterized Monads in Haskell] |
||

+ | * [http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/ Monads! (and Why Monad Tutorials Are All Awful)] |
||

+ | * [http://www.haskell.org/haskellwiki/Monads_as_computation Monads as computation] |
||

+ | * [http://davblog48.blogspot.com/2007/08/monads-are-hard-to-teach.html Monads are hard to teach] |
||

+ | * [http://luqui.org/blog/archives/2007/08/05/haskell-state-accessors-second-attempt-composability/ Haskell State Accessors (second attempt: Composability)] |
||

+ | * [http://www.bofh.org.uk/articles/2007/08/07/monads Beginning with monads] |
||

+ | * [http://dailykibitz.blogspot.com/2007/08/learning-about-computational-monads.html Learning about (Computational) Monads ] |
||

+ | * [http://osteele.com/archives/2007/12/overloading-semicolon Overloading Semicolon, or, monads from 10,000 Feet] |
||

+ | * [http://mvanier.livejournal.com/3917.html Yet Another Monad Tutorial] |
||

− | === Monad transformers === |
+ | == Monad transformers == |

* [http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Monad_transformers.html A twisted history of monad transformers] |
* [http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Monad_transformers.html A twisted history of monad transformers] |
||

Line 39: | Line 51: | ||

* [http://scsibug.com/2006/11/28/a-simple-game-with-statet/ A Simple Game with StateT] |
* [http://scsibug.com/2006/11/28/a-simple-game-with-statet/ A Simple Game with StateT] |
||

− | === Arrows === |
+ | === Continuation monads === |

+ | |||

+ | * [http://therning.org/magnus/archives/306 Continuing with Continuations] |
||

+ | |||

+ | == Arrows == |
||

* [http://kpreid.livejournal.com/7351.html Concatenative programming in Haskell's Arrows] |
* [http://kpreid.livejournal.com/7351.html Concatenative programming in Haskell's Arrows] |
||

* [http://abstractabsurd.blogspot.com/2007/04/arrows-security.html Arrows and security] |
* [http://abstractabsurd.blogspot.com/2007/04/arrows-security.html Arrows and security] |
||

+ | * [http://cgi.cse.unsw.edu.au/~dons/blog/2007/07/31 Run length encoding in Haskell] |
||

+ | * [http://neilbartlett.name/blog/2007/08/01/haskell-explaining-arrows-through-xml-transformationa/ Haskell: Explaining Arrows through XML Transformations] |
||

+ | * [http://www.drmaciver.com/2007/08/playing-with-arrows/ Playing with Arrows] |
||

+ | * [http://onthebalcony.wordpress.com/2007/02/19/my-evolution-as-a-haskell-programmer/ My Evolution as a Haskell Programmer: Factorial with Arrows] |
||

+ | * [http://monadicheadaches.blogspot.com/2007/12/arrows-first-encounter.html Arrows first encounter] |
||

− | === Comonads === |
+ | == Comonads == |

* [http://sigfpe.blogspot.com/2007/02/comonads-and-reading-from-future.html Comonads and reading from the future] |
* [http://sigfpe.blogspot.com/2007/02/comonads-and-reading-from-future.html Comonads and reading from the future] |
||

* [http://sigfpe.blogspot.com/2006/12/evaluating-cellular-automata-is.html Evaluating cellular automata is co-monadic] |
* [http://sigfpe.blogspot.com/2006/12/evaluating-cellular-automata-is.html Evaluating cellular automata is co-monadic] |
||

* [http://gelisam.blogspot.com/2007/04/i-understand-comonads.html Understanding comonads] |
* [http://gelisam.blogspot.com/2007/04/i-understand-comonads.html Understanding comonads] |
||

+ | |||

+ | == Applicative Functors == |
||

+ | |||

+ | Nobody has written blog articles on applicative functors - so how about a functional pearl: |
||

+ | |||

+ | * [http://www.soi.city.ac.uk/~ross/papers/Applicative.pdf Applicative Programming with Effects] |
||

+ | |||

+ | == Further reading == |
||

+ | |||

+ | * [http://haskell.org/haskellwiki/Research_papers/Monads_and_arrows Research papers on monads, comonads and arrows] |
||

+ | * [http://haskell.org/haskellwiki/Category:Monad Wiki articles about monads] |
||

+ | * [http://en.wikibooks.org/wiki/Haskell/Understanding_monads Understanding monads] |
||

+ | * [http://en.wikibooks.org/wiki/Haskell/Advanced_monads Advanced monads] |
||

+ | * [http://en.wikibooks.org/wiki/Haskell/Monad_transformers Monad transformers] |

## Latest revision as of 01:44, 28 January 2011

## Contents |

## [edit] 1 Monads

- The monad laws
- The Trivial Monad
- Tracking tainted data: Homeland Security Threat Level Monad
- Monads: a field guide
- Variable substitution gives a ... monad
- The monad behind every zipper
- Monads for vector spaces, probability and quantum mechanics pt. I
- Monads, Vector Spaces and Quantum Mechanics pt. II
- How to write tolerably efficient optimzation code without really trying...
- Monads from Algebra and the the Gray Code from Groups
- Monads, Kleisli Arrows, Comonads and other Rambling Thoughts
- The IO Monad for People who Simply Don't Care
- Quick interpreters with the Reader monad
- Monads
- More on Haskell, Side Effects and Code Reuse
- A First Step Into Monads
- More Monads: Stateful Programming
- The theory of monads
- A newbie in Haskell land or another monad tutorial
- A newbie in Haskell land : The (->) monad
- Smart classification using Bayesian monads
- 3 open problems with monads
- Monads in 15 minutes: Backtracking and Maybe
- How to make Data.Set a monad
- Monads work because they have a tight interface
- Haskell: bootstrapping into a clue about monads
- Why monads matter
- Monads through Pictures
- Monads as universe helpers
- Simple state monad
- repeat and sequence
- What's a monad?
- Parameterized Monads in Haskell
- Monads! (and Why Monad Tutorials Are All Awful)
- Monads as computation
- Monads are hard to teach
- Haskell State Accessors (second attempt: Composability)
- Beginning with monads
- Learning about (Computational) Monads
- Overloading Semicolon, or, monads from 10,000 Feet
- Yet Another Monad Tutorial

## [edit] 2 Monad transformers

- A twisted history of monad transformers
- How To Use Monad Transformers
- Local and global side effects with monad transformers
- Grok monad transformers
- A Simple Game with StateT

### [edit] 2.1 Continuation monads

## [edit] 3 Arrows

- Concatenative programming in Haskell's Arrows
- Arrows and security
- Run length encoding in Haskell
- Haskell: Explaining Arrows through XML Transformations
- Playing with Arrows
- My Evolution as a Haskell Programmer: Factorial with Arrows
- Arrows first encounter

## [edit] 4 Comonads

- Comonads and reading from the future
- Evaluating cellular automata is co-monadic
- Understanding comonads

## [edit] 5 Applicative Functors

Nobody has written blog articles on applicative functors - so how about a functional pearl: