<div dir="ltr"><div><div>You could definitely use the same approach for any one irrational number you were interested in. With a tuple of integers you could track a handful of irrationals. If you need more than that you would probably be better served by something like the cyclotomic package.<br><br></div>The reason it is hard-coded to pi is twofold. First, that's the one I need to track, because it appears in conversion factors between units of angle. Second, because pi appears in the Floating instance, which makes it notationally more convenient to have the type specialized for pi.<br><br></div>If you have a use case for the extra generality, I could see an approach where its parametrized by a Symbol. It would still be convenient to have the Floating instance specialized for the type that tracks pi, but that would be achievable.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 9, 2015 at 7:50 PM, Andrew Gibiansky <span dir="ltr"><<a href="mailto:andrew.gibiansky@gmail.com" target="_blank">andrew.gibiansky@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Why is this hard-coded to pi? Is there a particular reason it cannot be used for any irrational number?</div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Thu, Apr 9, 2015 at 12:36 PM, Douglas McClean <span dir="ltr"><<a href="mailto:douglas.mcclean@gmail.com" target="_blank">douglas.mcclean@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div><div><div>I'm announcing the release of the new exact-pi package.<br><br></div>It provides a type that exactly represents all rational multiples of integer powers of pi. Because it's closed under multiplication and taking of reciprocals, it's useful for computing exact conversion factors between physical units. In order to provide full Num and Floating instances there is also a representation for approximate values.<br><br></div>I'm not sure if this will be of use to anyone else, but it is nice and self-contained so I thought I would put it out there.<br><br></div>-Doug McClean<br></div>
<br></div></div>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">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></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">J. Douglas McClean<br><br>(781) 561-5540 (cell)</div>
</div>