GitHub Actionsとscala-stewardを組み合わせてtokenやbot accountの用意すらせずにpull reqを送ってもらう方法

追記:

つらい

github.community

さらに追記

続編

xuwei-k.hatenablog.com

DottyのMatch Typeを使ってコンパイル時にFibonacciを計算する

見た目通りで、あまり難しくないので、特に説明することがない。 macroさえ使わずに書けますね。 shapelessにあったような色々な機能が標準で装備されています。

みなさん、Match Type使ってもっと複雑な色々な計算書いてみましょう。

ちなみに、この単純な実装だと、大きい数渡すと(コンパイル時に)大変なことになるのでご注意ください。

続きを読む

Scala 2.13で-Xsource:3を指定すると変更される挙動一覧

Scalaコンパイラには、ある程度最近のversionから -Xsource:バージョン という、少し将来のversionの挙動に近づけるオプションがあります。

Scala 2.13.3時点で -Xsource:3 を指定できるわけですが、その場合の挙動の変更一覧を、scala/scalaをgit grepしてコンパイラのコードを読んで調べたので書いておきます。

ちなみに、当初2.14が出る予定だったので、Scala 2.13の最初の方は -Xsource:2.14 という指定方法だったのですが、2.14無くなったので、dottyに向けて -Xsource:3 となりました。

続きを読む

Throwableでtry catchしてしまっているのをNonFatalに書き換えるscalafixのrule

この程度の単純なものならば、正規表現の置換だけで可能な気がしますが、書いたので置いておきます。

NonFatalのimport加えるあたりは、そういう低レベルなやつでやると、適切な位置に追加するのは多少面倒かもしれないですね。

細かいところが多少雑なので、稀に変な書き換えをしてしまうかも。

gist.github.com