[Haskell-cafe] A question about State Monad and Monad in general

C K Kashyap ckkashyap at gmail.com
Mon Jul 19 05:07:56 EDT 2010


Also, Claude ... If I am correct, in your example, there is no in-place
replacement happening.

On Mon, Jul 19, 2010 at 2:36 PM, C K Kashyap <ckkashyap at gmail.com> wrote:

> Okay...I think I am beginning to understand.
> Is it right to assume that "magic" is backed by FFI and cannot be done in
> "pure" Haskell?
>
>
> On Mon, Jul 19, 2010 at 1:47 PM, Ketil Malde <ketil at malde.org> wrote:
>
>> C K Kashyap <ckkashyap at gmail.com> writes:
>>
>> > I looked at State Monad yesterday and this question popped into my mind.
>> > From what I gather State Monad essentially allows the use of Haskell's
>> do
>> > notation to "invisibly" pass around a state. So, does the use of Monadic
>> > style fetch us more than syntactic convenience?
>>
>> At it's heart, monads are "just" syntactic convenience, but like many
>> other syntactic conveniences, allows you to structure your code better.
>> Thus it's more about programmer efficiency than program efficiency.
>> (The "do notation" is syntactic sugar for >>= and >>).
>>
>> > Again, if I understand correctly, in Mutable Arrays also, is anything
>> > getting modified in place really? If not, what is the real reason for
>> better
>> > efficiency?
>>
>> STArray and IOArrays are "magic", and uses monads to ensure a sequence
>> of execution to allow (and implement) in-place modification.  So this
>> gives you better performance in many cases.  Don't expect this from
>> generic monads.
>>
>> -k
>> --
>> If I haven't seen further, it is by standing in the footprints of giants
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
>
>
> --
> Regards,
> Kashyap
>



-- 
Regards,
Kashyap
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100719/4f35f37e/attachment.html


More information about the Haskell-Cafe mailing list