読者です 読者をやめる 読者になる 読者になる

2017年2月4日

プログラミング

日記

spire で各代数の暗黙のパラメータがどこから読み込まれてるのかがよく分からなかったので悩んでたら、どうやらそもそも Scala で暗黙のパラメータを探すスコープを間違えてたようだった。 どうも代数のクラスに対応するコンパニオン・オブジェクトに定義されている暗黙のパラメータは自動で読み込まれるみたいだけど、コップ本にはそんなことが一言も書かれてなかったので気付くのに結構苦労した。 まぁ、今から思えば乱数を生成する Generator の暗黙のパラメータがどこから読み込まれてるのか謎だったので、その時に気付くべきではあったのだが。

ところで、spire では暗黙の型変換のオーバーヘッドを無くすためのマクロが使われてて、ライブラリとしてのパフォーマンスを心配する必要はないようなのだけど、これってただでさえコンパイルに時間のかかる Scala でさらにコンパイル時間を要する処理なんじゃないかという心配が。 最近、Scalaコンパイル時間が長すぎて別言語に移行するプロジェクトがあるらしいし。

というか、ちょっと別言語やってみたいなぁという気持ちが湧いてきた。 そろそろ JVM 言語以外にも目を向けて、Google Go か Rust あたりが興味をそそる。

Scalaスケーラブルプログラミング第3版

Scalaスケーラブルプログラミング第3版


ツイート (ツイート数 40)