Hi,<br><br>I am bit struggling with understanding the typeclasses usage in Text.Regex.Posix (=~) while reading Real world haskell.<br><br>The type of (=~) is <span style="font-family: courier new,monospace;">(RegexMaker Regex CompOption ExecOption source,          RegexContext Regex source1 target)&nbsp;      =&gt; source1 -&gt; source -&gt; target</span><br clear="all">
<br>I am from Java world. My question is that can I understand source1 in the way which is a value has type of <span style="font-family: courier new,monospace;">RegexMaker</span>, <span style="font-family: courier new,monospace;">Regex</span>, <span style="font-family: courier new,monospace;">CompOption </span>and <span style="font-family: courier new,monospace;">ExecOption</span>? <br>
<br>And the definiton of <span style="font-family: courier new,monospace;">instance RegexMaker Regex CompOption ExecOption String</span> makes it possible for us to pass a String as the parameter of =~?<br><br>Where can I find some good metarials about GHC&#39;s type classes? I googled a lot but can not find something mentioned above usage.<br>
<br>-- <br>Cheers,<br>Keke<br>-----------------<br>We paranoid love life<br>