A higher kind of request to Don Syme... please please please,,,, we desperately need higher kinds!
15 people like thisPosted: 13 years ago by Nick Palladinos
Yet another attempt of mine to "haskellify" my F# coding.
10 people like thisPosted: 13 years ago by Nick Palladinos
Compositional expression parsing with monads. https://bitbucket.org/ZachBray/parsad
9 people like thisPosted: 12 years ago by Zach Bray
Delimited continuations encoded as a parameterized continuation monad.
1 people like thisPosted: 10 years ago by Nick Palladinos
Alternative solution to the problem in Scott Wlaschin's "Reinventing the Reader Monad" article (but without monads).
3 people like thisPosted: 8 years ago by Tomas Petricek
The Eff monad in F#, based on http://okmij.org/ftp/Computation/free-monad.html.
3 people like thisPosted: 6 years ago by NIck Palladinos
Build strings using powerful higher-rank encoding!
0 people like thisPosted: 2 years ago by Evgeniy Andreev
Modular memoization within a pure functional setting that is implemented as a convenient computation builder.
89 people like thisPosted: 13 years ago by Nick Palladinos
Polymorphic (via generics) Maybe monad/computational expression with default value + Zipper
6 people like thisPosted: 12 years ago by Daniil
JSON parsing with monads. See also "Expression parsing with monads" (http://fssnip.net/bi). Author URL: http://www.zbray.com
8 people like thisPosted: 12 years ago by Zach Bray
A long overdue counterexample of a pure bind/return computation expression that does not satisfy any of the monad laws, as promised to @silverSpoon. This uses binary trees under the hood, which define a binary operation but do not satisfy any unit or associativity laws. Binary trees can also encode the syntactic structure of a computation expression, which is being captured using a state-updating bind implementation.
3 people like thisPosted: 9 years ago by Eirik Tsarpalis
This is a reader monad, whit the difference that multiple reads access different parts of the state. This is done by building up a tuple (in the bind operator) that represents different parts of the state that can be accessed by different parts of the computation.
5 people like thisPosted: 8 years ago by Tomas Petricek
Basic implementation of the continuation monad with explanation.
9 people like thisPosted: 4 years ago by Brian Berns