
On Thu, Apr 30, 2009 at 4:04 PM, applebiz89
Hey thanks, that was really helpful actually. I know it must be annoying for you, and im sorry but ive done what you said, try and compile it to see if it does and fix it. I have tried every possible way of using brackets in different place's etc (as u can tell Im not good with haskell at all) but it still isnt, it must be to do with my data type.
-- Film as datatype
data Film = String String Int [String]
Change that to data Film = Film String String Int [String] that way you get a constructor called `Film` for the data type `Film`: casinoRoyale = Film "CR" "MC" 2006 ["G", "D", "Z"]
-- List of films
testDatabase :: [Film] testDatabase = ["Casino Royale", "Martin Campbell" ,2006, ["Garry", "Dave", "Zoe"] ]
Then you can create your test database either like this: testDatabase = [(Film "CR" "MC" 2006 ["G", "D", "Z"])] or if you have defined `casinoRoyale` like above the like this: testDatabase = [casinoRoyale]
I get this error:
*** Expression : ["Casino Royale","Martin Campbell",2006,[("Garry","Dave","Zoe")]] *** Term : [("Garry","Dave","Zoe")] *** Type : [([Char],[Char],[Char])] *** Does not match : [Char]
I think you would benefit from reading chapter 3 of RWH http://book.realworldhaskell.org/read/defining-types-streamlining-functions.... it offers a good introduction to defining your own types. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe