<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">I forgot the type signiture on the last last:<br><br>(~&gt;&gt;) :: (Seed -&gt; (a,Seed)) -&gt; (Seed -&gt; (b,Seed)) -&gt; (Seed -&gt; (b,Seed))<br>(~&gt;&gt;) m n = \seed0 -&gt;<br>&nbsp; let (result1, seed1) = m seed0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (result2, seed2) = n seed1<br>&nbsp; in (result2, seed2)<br><br>========<br><br>With it I get this:<br><br>*Main&gt; rollDie 362354 ~&gt;&gt; (rollDie ~&gt;&gt; rollDie)<br>
<br>
&lt;interactive&gt;:1:0:<br>
&nbsp;&nbsp;&nbsp; Couldn't match expected type `Seed -&gt; (a, Seed)'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; against inferred type `(Int, Seed)'<br>
&nbsp;&nbsp;&nbsp; In the first argument of `(~&gt;&gt;)', namely `rollDie 362354'<br>
&nbsp;&nbsp;&nbsp; In the expression: rollDie 362354 ~&gt;&gt; (rollDie ~&gt;&gt; rollDie)<br>
&nbsp;&nbsp;&nbsp; In the definition of `it':<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; it = rollDie 362354 ~&gt;&gt; (rollDie ~&gt;&gt; rollDie)<br>
*Main&gt; <br>
<br>Michael<br><br>--- On <b>Wed, 4/22/09, Achim Schneider <i>&lt;barsoap@web.de&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Achim Schneider &lt;barsoap@web.de&gt;<br>Subject: [Haskell-cafe] Re: Overriding a Prelude function?<br>To: haskell-cafe@haskell.org<br>Date: Wednesday, April 22, 2009, 9:52 PM<br><br><div class="plainMail">michael rice &lt;<a ymailto="mailto:nowgate@yahoo.com" href="/mc/compose?to=nowgate@yahoo.com">nowgate@yahoo.com</a>&gt; wrote:<br><br>&gt; OK, I changed the operator from (&gt;&gt;) to (~&gt;&gt;). When I try to use it I<br>&gt; get this:<br>&gt; <br>&gt; [michael@localhost ~]$ ghci rand<br>&gt; GHCi, version 6.10.1: <a href="http://www.haskell.org/ghc/__" target="_blank">http://www.haskell.org/ghc/__</a> :? for help<br>&gt; Loading package ghc-prim ... linking ... done.<br>&gt; Loading package integer ... linking ... done.<br>&gt; Loading
 package base ... linking ... done.<br>&gt; [1 of 1] Compiling Main________________________ ( rand.hs, interpreted )<br>&gt; Ok, modules loaded: Main.<br>&gt; *Main&gt; rollDie ~&gt;&gt; (rollDie ~&gt;&gt; rollDie)&nbsp; <br>&gt; <br>&gt; &lt;interactive&gt;:1:0:<br>&gt; ______ No instance for (Show (Seed -&gt; (Int, Seed)))<br>&gt; __________ arising from a use of `print' at &lt;interactive&gt;:1:0-32<br>&gt; ______ Possible fix:<br>&gt; __________ add an instance declaration for (Show (Seed -&gt; (Int, Seed)))<br>&gt; ______ In a stmt of a 'do' expression: print it<br><br>Well, you obviously need an initial seed:<br><br>rollDie 0xdeadbeef ~&gt;&gt; (rollDie ~&gt;&gt; rollDie)<br><br>-- <br>(c) this sig last receiving data processing entity. Inspect headers<br>for copyright history. All rights reserved. Copying, hiring, renting,<br>performance and/or quoting of this signature
 prohibited.<br><br><br>_______________________________________________<br>Haskell-Cafe mailing list<br><a ymailto="mailto:Haskell-Cafe@haskell.org" href="/mc/compose?to=Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br></div></blockquote></td></tr></table><br>