[Haskell-beginners] consing an element to a list inside a file

Daniel Fischer daniel.is.fischer at web.de
Fri Feb 12 17:18:06 EST 2010

Am Freitag 12 Februar 2010 20:15:26 schrieb kane96 at gmx.de:
> the exercise looks like that:
> readMyCal :: IO MyCalendar
> readMyCal = do putStr "day: "
>                d <- readInt
>                putStr "month: "
>                m <- readMonth
>                putStr "year: "
>                y <- readInt
>                let mydate = (d,m,y)
>                if not (legalDate mydate) then
>                    do putStrLn "wrong"
>                    --COMPLETE-1--
>                else
>                    --COMPLETE-2--
> COMPLETE-1: the user can give in a new date. I did it by simple calling
> the function again


> COMPLETE-2: the user can choose if he wants to enter
> a new. If not, all dates the user has put in should be put out as a
> calendar (a list of dates)

Okay, that's not nice. But since you have no global variables to store the 
list of dates entered in (yes, there are ways to have global variables, but 
it's not a good idea unless you really have to), call

readMoreDates :: [MyDate] -> IO MyCaledar
readMoreDates previous = do ...

(code duplication where it isn't really necessary, but what the heck).

More information about the Beginners mailing list