[Haskell-cafe] Haskell vs OCaml

Matt Collins mattcol at gmail.com
Sun Dec 25 05:42:35 EST 2005


Perhaps something like

for :: Int -> Int -> (Int -> IO ()) -> IO ()
for begin end f = sequence_ [ f i | i <- [begin..end] ]

*Main> for 1 10 print
1
2
3
4
5
6
7
8
9
10


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  
>>> algorithms.
>>> 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! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list