Probably not the module you're looking for, but then again you're not going to be able to turn any of the others in for your homework either . . .
module Main where eng_commafy :: (Show a) => [a] -> String eng_commafy x | length x > 2 = foldl1 (commacat) init_as_show ++ ", a +nd " ++ last_show where commacat x y = x ++ ", " ++ y init_as_show = map (show) (init x) last_show = show (last x) eng_commafy x | length x == 2 = (show (head x)) ++ " and " ++ (show (l +ast x)) eng_commafy x | length x == 1 = show (head x) eng_commafy [] = "" main = do putStrLn (eng_commafy [1..10]) putStrLn (eng_commafy [1,2]) putStrLn (eng_commafy [1])
(Yeah, my Haskell's terrible . . . :)
Update: Actually looking at the OP's posting history this is probably not homework. But it's still trivial and probably not past the threshold of "should be stuck in a module" on its own.
The cake is a lie.
The cake is a lie.
The cake is a lie.
In reply to Re: Module for making english lists?
by Fletch
in thread Module for making english lists?
by markjugg
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |