|
From: | Houman Zolfaghari |
Subject: | Re: [Chicken-users] google summer of code |
Date: | Mon, 10 Mar 2008 23:25:17 -0400 |
On 10-Mar-08, at 4:18 PM, felix winkelmann wrote:
(Side note: Monads are just CPS in disguise, statically typed and in a side-effect free environment)
The continuation monad is indeed CPS intentionally in disguise. Note however that monads are not limited to CPS or state threading. Monads have many other interesting uses and they present a powerful paradigm for adding features to functional semantics in a systematic and uniform manner. And even if the are absolutely about types (a monad is a type "lifting"), monads can very well be used in dynamically typed language. Unfortunately, very little has been written about them in scheme/lisp context.
I've been using "monadic" combinators for parsing and pattern matching in chicken quite lot in the last few years. So I have some experience about implementing them now in scheme. These combinator should becomme an egg very soon, if I find the time to write a proper documentation for it...
Cheers Houman
[Prev in Thread] | Current Thread | [Next in Thread] |