Hi,
On Mon, Jan 11, 2010 at 8:44 PM, Steven E. Harris wrote:
> Konrad Hinsen writes:
>
>> For a function of a single argument, m-lift and m-fmap are equivalent.
>
> In Jim Duey's essay Higher Level Monads¹, he writes the following on the
> lift operator:
>
> ,[ m-lift ]
> | If you have a fun
You know, I think you're right. I would refer you to part 2 of
Konrad's monad tutorial, but the link is broken. Check google's cache,
if you want to read an explanation immediately.
I'll have to go change that. Thanks for pointing it out and sorry for
any confusion.
Jim
Steven E. Harris wrote:
>
Konrad Hinsen writes:
> For a function of a single argument, m-lift and m-fmap are equivalent.
In Jim Duey's essay Higher Level Monads¹, he writes the following on the
lift operator:
,[ m-lift ]
| If you have a function that you would like to turn into a monadic
| function, that is a functi
On 8 Jan 2010, at 02:43, Steven E. Harris wrote:
Can you recommend a book that covers aspects of monads like these? I'd
like to learn more about the abstract concepts than their
implementation
in a particular language.
I don't know about any books. There's a lot of monad material on the
W
Konrad Hinsen writes:
> When the monadic values are functions representing computations,
> monadic composition yields a new function but doesn't execute
> anything. When the monadic values represent results of computations,
> then monadic composition implies execution of the computational steps.
Thank you, Konrad. Your explanation was perfect.
--
Steven E. Harris
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient wit
On 07.01.2010, at 02:23, Steven E. Harris wrote:
That means that a monadic function has a signature like
a -> m b
RIght.
Say that we're looking to use some "normal" functions with this
monad. Those functions may have signatures like
a -> b
They clearly don't return the right kind of val
On 07.01.2010, at 01:56, Steven E. Harris wrote:
I'm interested in what you mean by "composite computation", because I
think it's hinting at some concept for monads that I missed. If, as
you
say, executing the function immediately is not acceptable behavior,
then
I infer that the goal is to
I have a few more questions concerning how one interacts with a
continuation monad. It's clear that a monadic function accepts some
"base value" and returns a monadic value, in turn being a function
accepting a single continuation argument.
That means that a monadic function has a signature like
jim writes:
> Don't know if you saw, but I did a whole tutorial on the continuation
> monad.
Your essay is how I got started with monads in Clojure. I've read it six
times now (along with five other of your essays on the subject), but
perhaps I missed the requirement pertaining to delaying evalu
Konrad Hinsen writes:
> Exactly. The result of m-bind must be a continuation-accepting
> function again.
Yes, and invoking 'mv' yields such a function.
> That's the role of the outer layer (fn [c] ...).
That one adds /another/ layer, but the inner function returned by 'mv'
has the same "sign
On 05.01.2010, at 02:23, Steven E. Harris wrote:
> ,
> | (fn m-bind-cont [mv f]
> | (fn [c]
> | (mv (fn [v] ((f v) c)
> `
>
> I'm curious why there's an extra delaying wrapper function there. The
> outermost `fn' form taking the argument "c" as a continuation looks
> like
> it
Don't have time to go in depth on an explanation. But remember that m-
bind must work with m-result according to the 3 monadic laws. This
constrains what it can do. Don't know if you saw, but I did a whole
tutorial on the continuation monad. It's at:
http://intensivesystems.net/tutorials/cont_m.ht
In clojure.contrib.monads, there's a monad defined called "cont-m" to
model continuations. Its bind operator -- `m-bind` -- is defined as
follows:
,
| (fn m-bind-cont [mv f]
| (fn [c]
| (mv (fn [v] ((f v) c)
`
I'm curious why there's an extra delaying wrapper function there. The
14 matches
Mail list logo