the sequencing matters for applicative functors.  from McBride and Patterson 
[1]:

"The idea is that 'pure' embeds pure computations into the pure fragment of an 
effectful world -- the resulting computations may thus be shunted around 
freely, as long as the order of the genuinely effectful computations is 
preserved."

it is interesting to note that sequencing only matters a little for k-CAS : you 
just have to read before you write, but you can do the reads and writes in any 
order (as long as it is ultimately atomic.)

b

[1] McBride C, Patterson R. "Applicative programming with effects" Journal of 
Functional Programming 18:1 (2008), pages 1-13.

On Apr 20, 2012, at 4:41 PM, KC wrote:

> Sorry, I thought you or someone was asking why are Applicative Functors 
> faster in general than Monads.
> 
> Functional programming is structured function calling to achieve a result 
> where the functions can be evaluated in an unspecified order; I thought 
> Applicative Functors had the same unspecified evaluation order; whereas, 
> Monads could carry some sequencing of computations which has the extra 
> overhead of continuation passing.
> 
> Do I have that correct?
> 
> 
> On Fri, Apr 20, 2012 at 4:05 PM, Ben <midfi...@gmail.com> wrote:
> i'm not sure what your email is pointing at.  if it is unclear, i understand 
> the difference between applicative and monadic.  i suppose the easy answer to 
> why applicative can be faster than monadic is that you can give a more 
> specialized instance declaration.  i was just wondering if there was a way to 
> make a monad recognize when it is being used applicatively, but that is 
> probably hard in general.
> 
> b
> 
> On Apr 20, 2012, at 2:54 PM, KC wrote:
> 
> > Think of the differences (and similarities) of Applicative Functors and 
> > Monads and the extra context that monads carry around.
> >
> >
> > --
> > --
> > Regards,
> > KC
> 
> 
> 
> 
> -- 
> --
> Regards,
> KC


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to