coreに追加する場合の話
例としてHogeというtypeclassを追加する場合
なにか手順抜けてたら教えて下さい。自分でも気づいたらあとで追記します
- project/GenTypeClass.scalaを編集
- GenTypeClassからsbtコンソールでコマンド打って、Hoge.scalaとsyntax/HogeSyntax.scalaを生成
- syntax/Syntax.scalaの
trait Syntaxes
の適切な場所(kind毎に分かれてる)にobject hoge extends ToHogeOps
を定義 - syntax/Syntax.scalaの下の方にある
trait ToTypeClassOps
に、with ToHogeOps
を追加 - package.scalaのコメント欄に追加
以下の2つは、GenTypeclassでHoge.scalaとHogeSyntax.scalaを生成した後なら、いつでもいい
で、なんでこんなこと書いているかというと、
Foldable1とTraverse1追加したときに、ToTypeClassOps
に追加するの忘れたみたいから数日前pull reqした
https://github.com/scalaz/scalaz/pull/327
いま気づいたけど、最近追加されたProfunctorも、これ忘れてる部分がある。(そのうちpull reqする)
結構このあたりScalazのコアなコミッターの人でもうっかり忘れてる場合が多々あるので、
今一度あとでゆっくり見てチェックしよう・・・