I'm no expert, but it looks like the generalization of that would be some f that took a list:
f :: [a] -> b so what you'd have is a fold, right? foldr1 :: (a -> a -> a) -> [a] -> a Best, Philip Neustrom On Sun, Aug 10, 2008 at 11:47 AM, Michael Feathers <[EMAIL PROTECTED]> wrote: > > I wrote this function the other day, and I was wondering if I'm missing > something.. whether there is already a function or idiom around to do this. > > > unlist3 :: (a -> a -> a -> b) -> [a] -> b > unlist3 f (x:y:z:xs) = f x y z > > > I was also wondering whether the function can be generalized to N or whether > this is just one of those edges in the type system that you can't abstract > over. > > > Thanks, > > Michael > > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe