John A. De Goes

Results 214 comments of John A. De Goes

@caente I can definitely help out with that (as can others). As @puffnfresh says, starting with the PureScript hierarchy would be a good first step. It's not quite fine-grained enough...

@caente For now, I wouldn't worry about enforcing laws. The laws can be described in comments. Ultimately we want to add them as methods on the type classes, like Scalaz...

@caente I found Edward Kmett sketched out a hierarchy [here](https://github.com/ekmett/scala-numerics/tree/master/src/main/scala/numeric). It uses a someone non-idiomatic style of Scala but looks clean and well put together (Kmett also wrote Algebra for...

@caente Well, let's start with something simple then: * Abelian * Commutative * Group * Loop * Magma * Module * Monoid * Quasigroup * Rig * Ring * Ringoid...

I see the main purpose of this as being performance, e.g possibly for @fommil's application, creating instances for sums & products to benefit from derivation machinery. In this context, `Iso`...

You can do: ```scala type :+: [A, B] = A \/ B type CNil = Void type Either1[A] = A :+: CNil type Either2[A, B] = A :+: B :+:...

@edmundnoble The only real disadvantage is the boxing (rep -> iota, iota -> rep).

@NeQuissimus I do think this was discussed between @TomasMikula and @alexknvl. I'm not sure what the end result of this discussion was.

This looks good but I'm not sure it's dual to `Foldable`, so I'd recommend the name `Unfoldable`.

The only useful distinction is between functions and...well, everything is a function, so let's put it all into `scalaz.functions`. 😈 My opinion on this: organizations should be dictated by pedagogy—i.e....