[Haskell-cafe] Rewrite this imperative in FP way

Mike Burns mike at mike-burns.com
Sun Feb 5 16:42:52 CET 2012


Can you write it as a Python function? Another way of asking: is the
goal to mutate  d  or is it to produce the list?

On 2012-02-05 23.36.28 +0800, Haisheng Wu wrote:
> Sorry there is a mistake in the problem description.
> Here it is in Python:
> 
> a = [1,1,1,1] b = [0,1,2,3] c = [0,2] d = [0,0,0,0]
> for i in b:
>     for j in c:
>         if (i+j)<3:
>                 d[i+j] += a[i]
> 
> 
> -Haisheng
> 
> 
> On Sun, Feb 5, 2012 at 2:28 PM, Haisheng Wu <freizl at gmail.com> wrote:
> 
> > a = [1,1,1,1]
> > b = [0,1,2,3]
> > d = [0,0,0,0]
> >
> > for i in b:
> >   for j in c:
> >     if (i+j)<3:
> >       d[i+j] += a[i]
> >
> > My just work implementation in Haskell
> > http://hpaste.org/57452
> >
> > Another people implementation in Haskell with Monad and it turns out
> > complex and very imperatively.
> > http://hpaste.org/57358
> >
> > Do you have any cool solution in FP way?
> >
> > Thanks.
> > -Simon
> >

> _______________________________________________
> 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