classes inheritance seems not to work.

Hi, I'm trying to make three haskell classes and an instance this way: ------------------------------------------------------------------------------ class (Eq a) => Graph a where vert :: [a] ady :: a -> [a] class (Graph a) => Paths a where gps :: a -> a -> [[a]] class (Paths a) => Minimum a where mgps :: a -> a -> [a] instance Minimum Char where vert = ['a' .. 'f'] -- This is the line of the error message. ady 'a' = ['b', 'c'] ady 'b' = ['d', 'c', 'e'] ady 'd' = ['f'] gps = bepgr -- bepgr is defined and implemented in other code's part mgps = head gps ------------------------------------------------------------------------------ When I try to run this I get: "ERROR: filepath:line -No member vert in class "Minimum"" I don't know why does this happen, am I doing something wrong? Thank you. -- View this message in context: http://www.nabble.com/classes-inheritance-seems-not-to-work.-t1148006.html#a... Sent from the Haskell - Haskell-Cafe forum at Nabble.com.

Looks like I finally subscribed to the list, sorry if this message is duplicated: Hi, I'm trying to make three haskell classes and an instance this way: ------------------------------------------------------------------------------ class (Eq a) => Graph a where vert :: [a] ady :: a -> [a] class (Graph a) => Paths a where gps :: a -> a -> [[a]] class (Paths a) => Minimum a where mgps :: a -> a -> [a] instance Minimum Char where vert = ['a' .. 'f'] -- This is the line of the error message. ady 'a' = ['b', 'c'] ady 'b' = ['d', 'c', 'e'] ady 'd' = ['f'] gps = bepgr -- bepgr is defined and implemented in other code's part mgps = head gps ------------------------------------------------------------------------------ When I try to run this I get: "ERROR: filepath:line -No member vert in class "Minimum"" I don't know why does this happen, am I doing something wrong? Thank you. -- View this message in context: http://www.nabble.com/classes-inheritance-seems-not-to-work.-t1148006.html#a... Sent from the Haskell - Haskell-Cafe forum at Nabble.com.

On 2/18/06, asker
Hi,
I'm trying to make three haskell classes and an instance this way: ------------------------------------------------------------------------------ class (Eq a) => Graph a where vert :: [a] ady :: a -> [a]
class (Graph a) => Paths a where gps :: a -> a -> [[a]]
class (Paths a) => Minimum a where mgps :: a -> a -> [a]
instance Minimum Char where vert = ['a' .. 'f'] -- This is the line of the error message. ady 'a' = ['b', 'c'] ady 'b' = ['d', 'c', 'e'] ady 'd' = ['f'] gps = bepgr -- bepgr is defined and implemented in other code's part mgps = head gps ------------------------------------------------------------------------------
When I try to run this I get: "ERROR: filepath:line -No member vert in class "Minimum"" I don't know why does this happen, am I doing something wrong?
The class Minimum doesn't have a member 'vert', Graph does, though. You need to instantiate your data type in all three classes separately. So three separate "instance" declarations, one for each class. -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862
participants (2)
-
asker
-
Sebastian Sylvan