[Haskell-cafe] howto tuple fold to do n-ary cross product?
Luke Palmer
lrpalmer at gmail.com
Sun Nov 23 14:52:28 EST 2008
2008/11/23 Larry Evans <cppljevans at suddenlink.net>:
> http://www.muitovar.com/monad/moncow.xhtml#list
>
> contains a cross function which calculates the cross product
> of two lists. That attached does the same but then
> used cross on 3 lists. Naturally, I thought use of
> fold could generalize that to n lists; however,
> I'm getting error:
You should try writing this yourself, it would be a good exercise. To
begin with, you can mimic the structure of cross in that tutorial, but
make it recursive. After you have a recursive version, you might try
switching to fold or foldM.
The type of the function will not involve tuples, since they can be
arbitrary length (dynamic-length tuples are not supported in Haskell;
we use lists for that).
cross :: [[a]] -> [[a]]
...
Good luck,
Luke
More information about the Haskell-Cafe
mailing list