<p dir="ltr">Ah. I had a suspicion it had to do with extensions. Got to study up on it. Thanks</p>
<div class="gmail_quote">On Jan 25, 2016 12:42 AM, "Imants Cekusins" <<a href="mailto:imantc@gmail.com">imantc@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Daniel,<br>
<br>
it works with these tweaks:<br>
<br>
-- begin<br>
<br>
{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FlexibleContexts #-}<br>
module TupInst where<br>
<br>
<br>
data Tuple3 a b c = Tuple3 a b c deriving (Show)<br>
<br>
data Tuple2 a b = Tuple2 a b deriving (Show)<br>
<br>
class Indexable idx a where<br>
   first :: idx -> a<br>
<br>
<br>
instance Indexable (Tuple2 a b) a where<br>
   first (Tuple2 a0 b0) = a0<br>
<br>
<br>
instance Indexable (Tuple3 a b c) a where<br>
   first (Tuple3 a0 b0 c0) = a0<br>
<br>
-- end<br>
<br>
call it in ghci like this:<br>
<br>
first $ Tuple3 (1::Int) 'a' False::Int<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div>