
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
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