<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">cf2 :: Rational -&gt; [Int]<br>cf2 a = <span style="color: rgb(255, 0, 0);">let ai = floor a</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;-- Doesn't this make ai an Int? &nbsp; -Michael<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if a == (toRational ai)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then [ai]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else ai : cf2 (1 / (a - ai))<br><br><br>--- On <b>Sun, 3/29/09, Brandon S. Allbery KF8NH <i>&lt;allbery@ece.cmu.edu&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Brandon S. Allbery KF8NH
 &lt;allbery@ece.cmu.edu&gt;<br>Subject: Re: [Haskell-cafe] Rational and % operator remix<br>To: "michael rice" &lt;nowgate@yahoo.com&gt;<br>Cc: "Brandon S. Allbery KF8NH" &lt;allbery@ece.cmu.edu&gt;, "Lennart Augustsson" &lt;lennart@augustsson.net&gt;, haskell-cafe@haskell.org<br>Date: Sunday, March 29, 2009, 4:27 PM<br><br><div id="yiv1712184762"><div><div>On 2009 Mar 29, at 16:19, michael rice wrote:</div><blockquote type="cite"><table style="" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none;" valign="top">but I'm still at least one error short of a clean run<br><br>Main&gt; :load cf.hs<br>ERROR "cf.hs":7 - Type error in application<br>*** Expression&nbsp;&nbsp;&nbsp;&nbsp; : ai : cf2 (1 / (a - ai))<br>***
 Term&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : ai<br>*** Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Ratio Integer<br>*** Does not match : Int<br><br>Where did I go wrong or what did I leave out?<br></td></tr></tbody></table></blockquote><div><br></div><div>cf2 returns [Int], but you're using it as the tail of a list starting with ai, which is a Rational. &nbsp;Need to decide which you actually want. &nbsp;At a guess:</div><div><br></div><div><font class="Apple-style-span" face="'Andale Mono'">&gt; cf2 a = let&nbsp;ai = floor a</font></div><div><font class="Apple-style-span" face="'Andale Mono'">&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rai = toRational ai</font></div><font class="Apple-style-span" face="'Andale Mono'">&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;in</font></div><div><font class="Apple-style-span" face="'Andale Mono'">&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if a ==
 rai</font></div><div><font class="Apple-style-span" face="'Andale Mono'">&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; then [ai]</font></div><div><font class="Apple-style-span" face="'Andale Mono'">&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else rai : cf2 (1 / (a - ai))</font></div><div><font class="Apple-style-span" face="'Andale Mono'"><br></font></div><div> <span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><div style=""><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal;
 letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><div><font class="Apple-style-span" face="Monaco"><span class="Apple-style-span" style="font-family: Monaco;"><span class="Apple-style-span" style="font-family: Monaco;">--&nbsp;</span></span></font></div><div><font class="Apple-style-span" face="Monaco"><span class="Apple-style-span" style="font-family: Monaco;"><span class="Apple-style-span" style="font-family: Monaco;">brandon s. allbery [solaris,freebsd,perl,pugs,haskell] <a rel="nofollow"
 ymailto="mailto:allbery@kf8nh.com" target="_blank" href="/mc/compose?to=allbery@kf8nh.com">allbery@kf8nh.com</a></span></span></font></div><div><font class="Apple-style-span" face="Monaco"><span class="Apple-style-span" style="font-family: Monaco;"><span class="Apple-style-span" style="font-family: Monaco;">system administrator [openafs,heimdal,too many hats] <a rel="nofollow" ymailto="mailto:allbery@ece.cmu.edu" target="_blank" href="/mc/compose?to=allbery@ece.cmu.edu">allbery@ece.cmu.edu</a></span></span></font></div><div><font class="Apple-style-span" face="Monaco"><span class="Apple-style-span" style="font-family: Monaco;"><span class="Apple-style-span" style="font-family: Monaco;">electrical and computer engineering, carnegie mellon university &nbsp; &nbsp;KF8NH</span></span></font></div><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style:
 normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><br class="Apple-interchange-newline"></span></span></span></div></span> </div><br></div></blockquote></td></tr></table><br>