On Tue, May 12, 2009 at 9:59 AM, applebiz89 <[email protected]> wrote: > > I have compiled each function independently and they have compiled the only > problem is the main function.. > > I keep getting the error 'films not defined' and I am not sure why > > [code] > > type Title = String > type Director = String > type Year = Int > type Fan = String > > data Film = Film Title Director Year [Fan] deriving Show > > -- List of films > > testDatabase :: [Film] > testDatabase = [ (Film "Casino Royale" "Martin Campbell" 2006 ["Garry", > "Dave", "Zoe"])] > > -- Function > > filmsInGivenYear :: Year -> [Film] -> [String] > filmsInGivenYear year' films = [ title | (Film title director year fans) <- > films, year == year'] > > doFilmsInGivenYear :: [Film] -> IO () > doFilmsInGivenYear films = do putStrLn "which year?" > text <- getLine > let year' = read text :: Int > let answer = filmsInGivenYear year' films > print answer > > main :: IO () > main = do > doFilmsInGivenYear films > main > > [/code] > > if the other functions are compiling without this error im not sure as to > why the main function does not compile because of the films...any light on > this? > > Thanks
When you say 'doFilmsInGivenYear films', where does the variable 'films' come from? It's not defined anywhere in your program. That's what the compiler is complaining about. Alex _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
