2018-01-01から1ヶ月間の記事一覧

ScalaPBで使える protocol buffers の linter の plugin を作った

github.com 最初に作ったのは結構前なのですが、OSSにしてなかったのでOSSにしました。 sbtでの設定方法はgithubのREADMEなどを見てください。 protocol buffersには多少の慣習というかstyle guideが公式にあり、

(a == 1) && (a == 2) && (a == 3) をScalaのマクロで強制的にtrueにする

流行りに乗ってしまった。 Transformerの基本的な使い方の練習として良い例題ですね(?)

ScalaコンパイラやsbtとJava 9の対応表

Java 9が広まってきて、しかし多少古いScalaやsbtのままやろうとしてハマっている人を見かけることが多くなってきたので、簡単にまとめておきます。

scalaz.Tannenの名前の由来

以下のようなデータ型 final case class Tannen[F[_], G[_, _], A, B](f: F[G[A, B]]) scalaz/Tannen.scala at 7f5bbf571a18e2a29b337da238ab3f286954dd49 · scalaz/scalaz · GitHub

scalapb-argonautをscala-native対応させた

まずは以下のあたりも参照 xuwei-k.hatenablog.com xuwei-k.hatenablog.com それで

msgpack4z-argonaut を scala-native 対応させた

github.com 対応させてリリースしたの数日前だけれど、書くの忘れてたので今書いています。

ScalaPB用のprotobufとjsonの変換用ライブラリを大量にリリースした

大量と言っても、これ書いてる時点ではまだ3つです。 (実装の共通化のための scalapb-json-common というのを除いて。逆にそれ含めれば4つ) https://github.com/scalapb-json/scalapb-argonaut https://github.com/scalapb-json/scalapb-circe https://githu…

ScalaのmutableのHashSetの面白い挙動

togetter.com 面白い挙動だけど、さすがに自分が本当に最初に見つけた、というのもなにか違う気もするので、あのScalaパズルの本や、どこかのブログにこれ載っていたりしないんですか?