Denis Rosset
Denis Rosset
Consistency with cats: group should be named commutative (abbr. `C`) instead of abelian (abbr. `Ab`)
... this would remove one source of confusion. The naming differences will have to be documented as well (`cats` is more verbose, whereas `spire` abbreviates more).
... however, the algorithms are quite involved.
i.e. if we allow for non-commutative rings, we need to check that all operations use left or right multiplication in a consistent way. As I don't know concrete examples of...
Any idea how difficult would it be to write a plugin for IntelliJ ? See for reference: http://blog.jetbrains.com/scala/2015/10/14/intellij-api-to-build-scala-macros-support/ There are already helpers for [Simulacrum](https://github.com/JetBrains/intellij-scala/blob/idea15.x/src/org/jetbrains/plugins/scala/lang/psi/impl/toplevel/typedef/simulacrum/SimulacrumInjection.scala) and [Monocle](https://github.com/JetBrains/intellij-scala/blob/idea15.x/src/org/jetbrains/plugins/scala/lang/psi/impl/toplevel/typedef/MonocleInjector.scala).
The contravariant instance will be different for `PermutationAction` and `FaithfulPermutationAction` when calling `isFaithful`. TODO: refactor the usages in `symdpoly` after that.
Move implicit `PermutationAction[Q]` to explicit parameter.