这里有什么问题?
module Main
where
import System.IO
main = do
hSetBuffering stdin LineBuffering
numbers <- ask -- parse error on input `numbers'
putStrLn "The sum of all numbers is:"
putStrLn $ sum numbers
putStrLn "The product of all numbers is:"
putStrLn $ product numbers
ask :: (Read a, Eq a, Num a) => IO [a]
ask = do
putStrLn "Enter a number to add it to the list. Enter zero to terminate the list."
input <- getLine
let n = read input
if n == 0
then return []
else do
rest <- ask
return (n : rest)