Daniel,<br><br>Thanks. i&#39;m using<br><br>GHCi, version 6.8.2: <a href="http://www.haskell.org/ghc/">http://www.haskell.org/ghc/</a>&nbsp; :? for help<br>Loading package base ... linking ... done.<br>Prelude&gt; :l monoidal.hs<br>
[1 of 1] Compiling Monoidal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( monoidal.hs, interpreted )<br>&nbsp; C-c C-cInterrupted.<br>&gt; :q<br><br>Best wishes,<br><br>--greg<br><br><div class="gmail_quote">On Mon, Dec 15, 2008 at 2:50 PM, Daniel Fischer <span dir="ltr">&lt;<a href="mailto:daniel.is.fischer@web.de">daniel.is.fischer@web.de</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;">Am Montag, 15. Dezember 2008 23:16 schrieb Greg Meredith:<br>
&gt; Haskellians,<br>
&gt;<br>
&gt; An even simpler version &lt;<a href="http://paste.pocoo.org/show/95518/" target="_blank">http://paste.pocoo.org/show/95518/</a>&gt; that reveals<br>
<div class="Ih2E3d">&gt; the issue. i&#39;m astounded that the compiler literally just hangs.<br>
&gt;<br>
&gt; Best wishes,<br>
&gt;<br>
&gt; --greg<br>
&gt;<br>
&gt; On Mon, Dec 15, 2008 at 12:23 PM, Greg Meredith &lt;<br>
&gt;<br>
&gt; <a href="mailto:lgreg.meredith@biosimilarity.com">lgreg.meredith@biosimilarity.com</a>&gt; wrote:<br>
&gt; &gt; Haskellians,<br>
&gt; &gt;<br>
&gt; &gt; The simple-minded and smallish code sample at this<br>
</div>&gt; &gt; link&lt;<a href="http://paste.pocoo.org/show/95503/" target="_blank">http://paste.pocoo.org/show/95503/</a>&gt;causes the compiler to go off<br>
<div class="Ih2E3d">&gt; &gt; into never-never land. Any clues would be greatly appreciated.<br>
&gt; &gt;<br>
&gt; &gt; Best wishes,<br>
&gt; &gt;<br>
&gt; &gt; --greg<br>
<br>
</div>I can&#39;t confirm it, with 6.8.3:<br>
<br>
$ ghc -O2 --make Monoidal.hs<br>
[1 of 1] Compiling Monoidal &nbsp; &nbsp; &nbsp; &nbsp; ( Monoidal.hs, Monoidal.o )<br>
<br>
Monoidal.hs:110:11:<br>
 &nbsp; &nbsp;Couldn&#39;t match expected type `i1&#39;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; against inferred type `Isomorpism (HFTensorExpr a i) a&#39;<br>
 &nbsp; &nbsp; &nbsp;`i1&#39; is a rigid type variable bound by<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the instance declaration at Monoidal.hs:103:42<br>
 &nbsp; &nbsp;In the expression: (PutIn (\ a -&gt; (HFTLVal a)))<br>
 &nbsp; &nbsp;In the third argument of `HFTExpr&#39;, namely<br>
 &nbsp; &nbsp; &nbsp; &nbsp;`[(PutIn (\ a -&gt; (HFTLVal a)))]&#39;<br>
 &nbsp; &nbsp;In the expression:<br>
 &nbsp; &nbsp; &nbsp; &nbsp;(HFTExpr<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (HFTLVal a)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (HFTRVal b)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [(PutIn (\ a -&gt; (HFTLVal a)))]<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [(PutIn (\ b -&gt; (HFTRVal b)))])<br>
$<br>
<br>
and the earlier version:<br>
<br>
$ ghc -O2 --make Monoidal2.hs<br>
[1 of 1] Compiling Monoidal2 &nbsp; &nbsp; &nbsp; &nbsp;( Monoidal2.hs, Monoidal2.o )<br>
<br>
Monoidal2.hs:105:18:<br>
 &nbsp; &nbsp;Couldn&#39;t match expected type `HFTensorExpr a i&#39;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; against inferred type `[i1] -&gt; [i1] -&gt; HFTensorExpr a i1&#39;<br>
 &nbsp; &nbsp;In the expression: HFTExpr (HFTLVal a) (HFTRVal b)<br>
 &nbsp; &nbsp;In the definition of `tMult&#39;:<br>
 &nbsp; &nbsp; &nbsp; &nbsp;a tMult b = HFTExpr (HFTLVal a) (HFTRVal b)<br>
 &nbsp; &nbsp;In the definition for method `tMult&#39;<br>
<br>
Monoidal2.hs:122:10:<br>
 &nbsp; &nbsp;Couldn&#39;t match expected type `[]&#39; against inferred type `++ msa&#39;<br>
 &nbsp; &nbsp; &nbsp;Expected type: [i]<br>
 &nbsp; &nbsp; &nbsp;Inferred type: ++ msa msb<br>
 &nbsp; &nbsp;In the third argument of `HFTExpr&#39;, namely<br>
 &nbsp; &nbsp; &nbsp; &nbsp;`((Shuffle<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (\ (HFTExpr (HFTExpr u v msu msv) w msuv msw)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-&gt; (tAssoc (HFTExpr (HFTExpr u v msu msv) w msuv msw)))) ::<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msa ++ msb)&#39;<br>
 &nbsp; &nbsp;In the expression:<br>
 &nbsp; &nbsp; &nbsp; &nbsp;(HFTExpr<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (HFTExpr a b msa msb)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ((Shuffle<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (\ (HFTExpr (HFTExpr u v msu msv) w msuv msw)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-&gt; (tAssoc (HFTExpr (HFTExpr u v msu msv) w msuv msw))))<br>
::<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msa ++ msb)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; msc)<br>
<br>
Monoidal2.hs:139:10:<br>
 &nbsp; &nbsp;Couldn&#39;t match expected type `[]&#39; against inferred type `++ msl&#39;<br>
 &nbsp; &nbsp; &nbsp;Expected type: [i]<br>
 &nbsp; &nbsp; &nbsp;Inferred type: ++ msl msr<br>
 &nbsp; &nbsp;In the third argument of `HFTExpr&#39;, namely<br>
 &nbsp; &nbsp; &nbsp; &nbsp;`((Shuffle<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (\ (HFTExpr (HFTExpr a b msa msb) c msab msc)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-&gt; (tAssoc (HFTExpr (HFTExpr a b msa msb) c msab msc)))) ::<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msl ++ msr)&#39;<br>
 &nbsp; &nbsp;In the expression:<br>
 &nbsp; &nbsp; &nbsp; &nbsp;(HFTExpr<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (HFTExpr l r msl msr)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (HFTRVal b)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ((Shuffle<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (\ (HFTExpr (HFTExpr a b msa msb) c msab msc)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-&gt; (tAssoc (HFTExpr (HFTExpr a b msa msb) c msab msc))))<br>
::<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msl ++ msr)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [(PutIn (\ b -&gt; (HFTRVal b)))])<br>
<br>
Monoidal2.hs:150:11:<br>
 &nbsp; &nbsp;Couldn&#39;t match expected type `i1&#39;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; against inferred type `Isomorpism (HFTensorExpr a i) a&#39;<br>
 &nbsp; &nbsp; &nbsp;`i1&#39; is a rigid type variable bound by<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the instance declaration at Monoidal2.hs:103:42<br>
 &nbsp; &nbsp;In the expression: (PutIn (\ a -&gt; (HFTRVal a)))<br>
 &nbsp; &nbsp;In the third argument of `HFTExpr&#39;, namely<br>
 &nbsp; &nbsp; &nbsp; &nbsp;`[(PutIn (\ a -&gt; (HFTRVal a)))]&#39;<br>
 &nbsp; &nbsp;In the expression:<br>
 &nbsp; &nbsp; &nbsp; &nbsp;(HFTExpr<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (HFTLVal a)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (HFTRVal b)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [(PutIn (\ a -&gt; (HFTRVal a)))]<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [(PutIn (\ b -&gt; (HFTRVal b)))])<br>
$<br>
<br>
No hang, which compiler version did you use?<br>
</blockquote></div><br><br clear="all"><br>-- <br>L.G. Meredith<br>Managing Partner<br>Biosimilarity LLC<br>806 55th St NE<br>Seattle, WA 98105<br><br>+1 206.650.3740<br><br><a href="http://biosimilarity.blogspot.com">http://biosimilarity.blogspot.com</a><br>