Something like this? class TwoValues a where val1 :: a val2 :: a data MyTypeA = ValueA1 | ValueA2 data MyTypeB = ValueB1 | ValueB2 instance TwoValues MyTypeA where val1 = ValueA1 val2 = ValueA2 instance TwoValues MyTypeB where val1 = ValueB1 val2 = ValueB2 --- val1 :: MyTypeA -- ValueA1 val2 :: MyTypeB -- ValueB2 Peter On 19 December 2012 15:52, Emanuel Koczwara <poczta@emanuelkoczwara.pl>wrote:
Hi,
-- tests.hs data MyType1 = Value1 | Value2 data MyType2 = Value1 | Value2
Prelude> :l tests [1 of 1] Compiling Main ( tests.hs, interpreted )
tests.hs:3:16: Multiple declarations of `Main.Value1' Declared at: tests.hs:1:16 tests.hs:3:16
tests.hs:3:25: Multiple declarations of `Main.Value2' Declared at: tests.hs:1:25 tests.hs:3:25 Failed, modules loaded: none.
If so, how are numbers defined? I can use 1 :: Int or 1 :: Integer. Why not Value1 :: MyType1 and Value1 :: MyType2?
Emanuel
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners