Jason,<br><br>Oh sorry. I definitely meant not available. I hope it was available though :)<br>I&#39;ll look into dependent types, sure. But as I said, I can come up with a way (even though it is ugly) via promoting every constructor to a data type and using type classes to group different types. This makes me think there can be a more elegant way of handling it.<br>
<br>Matthias,<br><br>I searched in the list, but couldn&#39;t find the discussion you&#39;ve reffered. Do you have a link to it by any chance?<br><br><br>Thanks for the comments. Anyone else?<br><br><br><div class="gmail_quote">
On 19 March 2010 19:39, Jason Dagit <span dir="ltr">&lt;<a href="mailto:dagit@codersbase.com">dagit@codersbase.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><br><div class="gmail_quote"><div class="im">On Fri, Mar 19, 2010 at 8:15 AM, Ozgur Akgun <span dir="ltr">&lt;<a href="mailto:ozgurakgun@gmail.com" target="_blank">ozgurakgun@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hi Cafe!<br><br>Disclaimer: I know what I&#39;m going to ask is now available as a language feature normally.<br></blockquote></div><div><br>Did you mean &quot;not available&quot;?  I don&#39;t know of a Haskell language feature for this, so if you really did mean &quot;now&quot; then I&#39;d love to learn about the feature you&#39;re thinking of. <br>

<br></div><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Only think I can think of is having the constructors, as seperate data types, introducing new type classes to group every possible subset of [X,Y,Z] and [A,B,C,D] and use those type classes when defining the functions. But as you can imagine, this is not the only place I want to use this thing, and the code will start to look cryptic if I do so. I must add, I want to use this <i>disjunction of constructors</i> thingy in data type declerations as well.<br>

</blockquote></div><div><br>It looks to me like you want dependent types.  You might look at Agda.  It&#39;s similar to Haskell but features dependent types and other interesting things.<br><br>Jason<br></div></div>
</blockquote></div><br><br clear="all"><br>-- <br>Ozgur Akgun<br>