<div dir="ltr">Great point, thanks Scott. I will investigate that.<br><br>Possible avenues include:<br><ul><li>living with it, as you say, and identifiying bounds</li><li>moving forward only with Data.Fixed.Binary where the values have bounded size, and imposing contexts that verify that the values can't be too large/small for the implementation to work</li><li>moving forward with a newtype around Fixed and an arbitrary precision implementation</li></ul><p>On first look, the second one probably is the best match for my target applications, which are ultimately embedded.</p><p><br></p><p>Cheers,<br>Doug<br></p></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 12:19 AM, Scott Turner <span dir="ltr"><<a href="mailto:2haskell@pkturner.org" target="_blank">2haskell@pkturner.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><span class="">
    <div>On 2015-04-13 22:08, Douglas McClean
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>I'd certainly be happy to do it, I'm just concerned that
            it would be actively unwanted for a reason that I can't see.<br>
            <br>
          </div>
          I will look in to what the procedures are for contributing to
          base.<br>
          <br>
        </div>
        <div>It wasn't my intention to beg the internet to do it for me.<br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Mon, Apr 13, 2015 at 5:49 PM, Albert
          Y. C. Lai <span dir="ltr"><<a href="mailto:trebla@vex.net" target="_blank">trebla@vex.net</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 2015-04-13 11:31 AM, Douglas McClean wrote:<br>
              <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                I'm wondering why the decision was made not to have a
                Floating instance for Data.Fixed.<br>
              </blockquote>
              <br>
            </span>
            I have always found economics to be a powerful answer to
            this kind of questions. That is, perhaps simply, there has
            not been sufficient incentive for anyone to do the work. For
            example, do you want to do it?<br>
          </blockquote>
        </div>
      </div>
    </blockquote>
    <br></span>
    It looks hairy to me. The big-number cases would need approaches
    quite different from floating point.<br>
    <span style="white-space:nowrap"><span style="margin-left:0.2em">   
        sin(31415926.535897932384::Pico)<br>
      </span></span><span style="white-space:nowrap"><span style="margin-left:0.2em">   
        sin(31415926535897932384.626433832795::Pico)<br>
      </span></span><span style="white-space:nowrap"><span style="margin-left:0.2em"></span></span><span style="white-space:nowrap"><span style="margin-left:0.2em">   
        sin(314159265358979323846264338327950288419.716939937510::Pico)<br>
      </span></span>To return the correct value (0) from each of these
    examples, and their successors, requires an implementation able to
    calculate pi to an unbounded precision.<br>
    <br>
    The value of exp(50::Uni) requires more precision than a double can
    provide. How far do you go? exp(100::Uni)?<br>
    <br>
    I hope this doesn't scare you off. Perhaps there's literature on
    acceptable limitations when implementing/using such fixed point
    transcendental functions. In any case an implementation would be
    interesting even if it doesn't provide correct results in the
    extreme cases.<br>
  </div>

<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">J. Douglas McClean<br><br>(781) 561-5540 (cell)</div>
</div>