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

  a -> m b

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 value. There must be some
way to integrate such functions without writing new wrappers around them
by hand. Is this a job for `m-fmap'? Reading the implementation, it
looks like it would take a "normal" function and allow it to call on the
basic value extracted from a monadic value.

The lift operator also sounded relevant, but, if I understand it
correctly, it converts a "normal" function to one that accepts a monadic
value and returns a monadic value. That's the wrong argument type to be
used with bind -- which wants to call on a monadic function with a basic
value -- so I don't understand when one would want to use lift. When
would one be able to call on a "lifted" function? A simple example would
help.

-- 
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 with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to