[Haskell-cafe] New Eq instance
Miguel Mitrofanov
miguelimo38 at yandex.ru
Thu Aug 9 11:53:47 EDT 2007
rb> data Step = Step Id Scenario Action State Response
rb> instance Eq Step where
rb> Step id1 scenario1 action1 state1 response1 == Step id2
rb> scenario2 action2 state2 response2 = id == id
rb> _ == _ = False
"id == id" must be replaced with "id1 == id2".
Error message you've got might be confusing, since "id" is already
defined as an identity function, and functions are not Eq instances.
I'd suggest something like
data Step = Step {stepId :: Id,
stepScen :: Scenario,
steAction :: Action,
stepState :: State,
stepResp :: Responce}
instance Eq Step where step1 == step2 = stepId step1 == stepId step2
More information about the Haskell-Cafe
mailing list