[Haskell-cafe] Haskell vs OCaml

Branimir Maksimovic bmaxa at hotmail.com
Sun Dec 25 06:06:25 EST 2005

>From: Matt Collins <mattcol at gmail.com>
>To: "Branimir Maksimovic" <bmaxa at hotmail.com>
>CC: Haskell-Cafe at haskell.org
>Subject: Re: [Haskell-cafe] Haskell vs OCaml
>Date: Sun, 25 Dec 2005 21:42:35 +1100
>Perhaps something like
>for :: Int -> Int -> (Int -> IO ()) -> IO ()
>for begin end f = sequence_ [ f i | i <- [begin..end] ]
>*Main> for 1 10 print

Great! what are constrains on [begin..end] could they be some type
which supports (+) , but not Int. I need this cause perhaps there is
possibility to impleemnt STL like algo's in Haskell and that would
be even better then C++, cause Haskell has more powerfull
parametric polimorfism and C++ badly needs lambda's.
That's why STL is somewhat ugly, but lib tried to employ functional
style programming over sequences and is not bad, though in C++
one has to make lot of auxiliary classes because of lack of lambda's.
If I can make Iterator generic class and specialize for different
containers that would be it.
Last question is: Does creation of list of functions humpers performance?

Greetings, Bane.

>On 25/12/2005, at 9:35 PM, Branimir Maksimovic wrote:
>>>From: Lennart Augustsson <lennart at augustsson.net>
>>>To: Branimir Maksimovic <bmaxa at hotmail.com>
>>>CC: daniel.carrera at zmsl.com, Haskell-Cafe at haskell.org
>>>Subject: Re: [Haskell-cafe] Haskell vs OCaml
>>>Date: Sun, 25 Dec 2005 10:25:44 +0100
>>>Branimir Maksimovic wrote:
>>>>I've found that Haskell is pretty good in implementing recursive  
>>>>Problem cames when one want's to implement non recursive algorithm
>>>>by terms of recursion as Haskell does not support loops.
>>>>Perhaps if we can get loops, situation will improve, but then that
>>>>wouldn't be functional style.
>>>Could you give an example of a loop you find awkward in Haskell?
>>Well I want simple loop for(int i =0;i<10;++i)doSomething(i);
>>in haskell that would be
>>for begin end f | begin /= end = do  {f begin ; for (begin+1) end f}
>>                      | otherwise = return ()
>>>I've often found that you can just define a control construct
>>>in Haskell when needed (e.g., some kind of loop).
>>I don't know how to do that.
>>Greetings, Bane.
>>Express yourself instantly with MSN Messenger! Download today it's  FREE! 
>>Haskell-Cafe mailing list
>>Haskell-Cafe at haskell.org

FREE pop-up blocking with the new MSN Toolbar - get it now! 

More information about the Haskell-Cafe mailing list