Please sign in to comment.
Start to rationalize support for Fractional[A].
This commit fixes some ambiguous implicit problems with Fractional[A]. The Integral/Fractional/Numeric type classes haven't seen so much attention and need a bit more love. This commit adds support for literal Doubles when working with Fractional (analogous to the support for literal Int with Rings). Arguably we should move this to Field instead, but it works for now. The reason it might make sense to move to Field is that this commit still doesn't support using literal doubles with Numeric[A].
- Loading branch information...
Showing with 52 additions and 25 deletions.
|@@ -1,16 +1,13 @@|
|-3. Unify package and Rational versions of integral nroot/pow|
|-4. Implement nroot/pow for BigInt/BigDecimal|
|-5. Add sqrt/nroot/pow to Numeric, etc.|
|-6. Avoid overflowing BigDecimal => Double (e.g. in Complex)|
|-7. Create our own, better, Decimal class, with more methods|
|-8. Add implicits to put numerics.math.* functionality onto types|
|-9. Match up concrete and generic APIs|
|-10. Get compiler plugin for inlining implicits/ops working|
|-11. Unify operators (e.g. /~, %, /%, **, ~^, etc).|
|-1. type class standardization plus guidelines|
|+3. Make sure Numeric[A] is a superset of other type classes|
|+4. Make sure Number contains functionality for all types|
|+5. Add support for Rational and Complex to Number|
|+6. Improve macro support so we don't need operator -> methodname mapping|
|+7. Create our own BigFloat/Decimal class(es)|
|+8. Match up concrete and generic APIs|
|+9. Unify operators (e.g. /~, %, /%, **, etc).|
|+10. Make sure situations with implicits is coherent|
|+11. Make sure Rig/Ring/AdditiveGroup/MultiplicativeMonoid are all sane/OK|
|+12. Make sure specialization is consistent|
|+13. More benchmarks|