[Haskell-cafe] What's wrong with the classes/insances?
Pieter Laeremans
pieter at laeremans.org
Fri Jun 20 18:04:10 EDT 2008
HI,
What 's wrong with this:
type Id = String
class Catalog a where
listItems :: a -> IO [String]
getItem :: a -> Id -> IO (Maybe String)
class Item a where
getCatalog :: Catalog catalog => a -> catalog
data Catalog c => Content c = Content {auteur :: String, inhoud::
String, catalog::c}
instance Catalog c => Item (Content c) where
getCatalog (Content _ _ c) = c
I get this as error from ghci:
Couldn't match expected type `catalog' against inferred type `c'
`catalog' is a rigid type variable bound by
the type signature for `getCatalog'
at
../Sites/liberaleswebsite/www.liberales.be/cgi-bin/Test.hs:16:26
`c' is a rigid type variable bound by
the instance declaration
at ../Sites/liberaleswebsite/www.liberales.be/cgi-bin/Test.hs:20:17
In the expression: c
In the definition of `getCatalog': getCatalog (Content _ _ c) = c
In the definition for method `getCatalog'
Failed, modules loaded: none.
thanks in advance,
P
--
Pieter Laeremans <pieter at laeremans.org>
"The future is here. It's just not evenly distributed yet." W. Gibson
More information about the Haskell-Cafe
mailing list