15 lines
294 B
Haskell
15 lines
294 B
Haskell
dotp
|
|
:: Num a
|
|
=> [a] -> [a] -> Maybe a
|
|
dotp a b
|
|
| length a == length b = Just $ sum (zipWith (*) a b)
|
|
| otherwise = Nothing
|
|
|
|
main :: IO ()
|
|
main = mbPrint $ dotp [1, 3, -5] [4, -2, -1] -- prints 3
|
|
|
|
mbPrint
|
|
:: Show a
|
|
=> Maybe a -> IO ()
|
|
mbPrint (Just x) = print x
|
|
mbPrint n = print n
|