These are chat archives for non/algebra

2nd
Feb 2015
Erik Osheim
@non
Feb 02 2015 00:02
hey folks
so i just discovered that the std instance for Eq[List[A]] will SOE :/
originally i was thinking about the std instances as being very simple, pedagogical instances for testing mainly
however, it seems like we'd prefer to make them "industrial-strength" in which case we will need to go through and improve them.
Erik Osheim
@non
Feb 02 2015 04:28
so related to this issue -- in spire we have a lot of "static methods" that end up supporting a lot of concrete instances
for example, we have relatively fast exp/log/gcd/pow functions for int/long/bigint/bigdecimal which get used in many of the type classes
if we want people to really use the instances that std provides then i think we should include this supporting code as well.
in spire we put these methods in the spire.math package so that users can also just call it directly
e.g. spire.math.gcd(x, y) or spire.math.exp(x, k) or what-have-you
what do you all think about this?
Tom Switzer
@tixxit
Feb 02 2015 19:56
Personal opinion? I think we should leave nroot, trig, and some others out of algebra
they’re pretty separate from the rest of the hierarchy as-is
Erik Osheim
@non
Feb 02 2015 19:56
Trig[A] was never included.
Tom Switzer
@tixxit
Feb 02 2015 19:56
and Spire is focused more on numbers, so-to-speak
right
Erik Osheim
@non
Feb 02 2015 19:57
@johnynek @avibryant what do you think? would losing sqrt and nroot be a problem for you all?
Tom Switzer
@tixxit
Feb 02 2015 19:57
Also, I kind of think we should leave, eg, IsReal and friends out… as (been messing them in my algebraic branhc) they can really benefit with having access to Rational, Algebraic, and Real
Erik Osheim
@non
Feb 02 2015 19:58
hm ok.
i'm about to put a PR forward that adds a lot of instances for as many built-in types as possible.
do you think i should hold onto that until you/we/i submit a simplifying PR?
Tom Switzer
@tixxit
Feb 02 2015 19:59
hrmm… another thing to think about is if/when we split algebra into core/ring/lattice, how we will deal with std - does it depend on all of them
or do we have separate stds?
:|
I mean the split artifacts, not packages as it is now
Erik Osheim
@non
Feb 02 2015 20:00
ugh.
that is a great question.
P. Oscar Boykin
@johnynek
Feb 02 2015 23:21
losing sqrt and nroot would be fine.
Erik Osheim
@non
Feb 02 2015 23:21
alright great.