Thanks. I tried the first two, which worked. Previously I had tried:
let (zipWithPlus :: Num a => [a] -> [a] -> [a]) = zipWith (+)
<interactive>:1:5: Illegal signature in pattern: (Num a) => [a] -> [a] -> [a] Use -XScopedTypeVariables to permit it I tried setting -XScopedTypeVariables. When I ran it again I got a different error message: Prelude> let (zipWithPlus :: Num a => [a] -> [a] -> [a]) = zipWith (+) <interactive>:1:5: Illegal polymorphic or qualified type: forall a. (Num a) => [a] -> [a] -> [a] Perhaps you intended to use -XRankNTypes or -XRank2Types In a pattern type signature: (Num a) => [a] -> [a] -> [a] In the pattern: zipWithPlus :: (Num a) => [a] -> [a] -> [a] In a pattern binding: (zipWithPlus :: (Num a) => [a] -> [a] -> [a]) = zipWith (+) -- Russ Abbott ______________________________________ Professor, Computer Science California State University, Los Angeles Google voice: 424-242-USA0 (last character is zero) blog: http://russabbott.blogspot.com/ vita: http://sites.google.com/site/russabbott/ ______________________________________ On Thu, Sep 30, 2010 at 12:48 PM, Daniel Fischer <daniel.is.fischer@web.de>wrote:
let zipWithPlus xs ys = zipWith (+) xs ys