<div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">Something like this?</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">

<br></div><div style="font-family:arial,sans-serif;font-size:13px">class TwoValues a where</div><div style="font-family:arial,sans-serif;font-size:13px">   val1 :: a</div><div style="font-family:arial,sans-serif;font-size:13px">

   val2 :: a</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">data MyTypeA = ValueA1 | ValueA2<br>data MyTypeB = ValueB1 | ValueB2<br></div>
<div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">instance TwoValues MyTypeA where</div><div style="font-family:arial,sans-serif;font-size:13px">    val1 = ValueA1</div><div style="font-family:arial,sans-serif;font-size:13px">

    val2 = ValueA2</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">instance TwoValues MyTypeB where</div><div style="font-family:arial,sans-serif;font-size:13px">

    val1 = ValueB1</div><div style="font-family:arial,sans-serif;font-size:13px">    val2 = ValueB2</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">

<br></div><div style="font-family:arial,sans-serif;font-size:13px">---</div><div style="font-family:arial,sans-serif;font-size:13px">val1 :: MyTypeA -- ValueA1</div><div style="font-family:arial,sans-serif;font-size:13px">

val2 :: MyTypeB -- ValueB2</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">

Peter</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 19 December 2012 15:52, Emanuel Koczwara <span dir="ltr">&lt;<a href="mailto:poczta@emanuelkoczwara.pl" target="_blank">poczta@emanuelkoczwara.pl</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
-- tests.hs<br>
data MyType1 = Value1 | Value2<br>
data MyType2 = Value1 | Value2<br>
<br>
<br>
Prelude&gt; :l tests<br>
[1 of 1] Compiling Main             ( tests.hs, interpreted )<br>
<br>
tests.hs:3:16:<br>
    Multiple declarations of `Main.Value1&#39;<br>
    Declared at: tests.hs:1:16<br>
                 tests.hs:3:16<br>
<br>
tests.hs:3:25:<br>
    Multiple declarations of `Main.Value2&#39;<br>
    Declared at: tests.hs:1:25<br>
                 tests.hs:3:25<br>
Failed, modules loaded: none.<br>
<br>
If so, how are numbers defined? I can use 1 :: Int or 1 :: Integer. Why not Value1 :: MyType1 and Value1 :: MyType2?<br>
<br>
Emanuel<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</blockquote></div><br></div>