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

scala.Optionやboxingのコストと例外のコストの比較

関連tweet多過ぎるから全部貼らないんですが、まぁそれそうだな、と思って実験してみた結果。 tryは例外発生しなかったらコスト消える可能性があって、OptionやEitherやその他はtryと比較したらheapに乗る余計なオブジェクト出来るからほんの少しコストかか…

Scala 3ではPredef.valueOfよりscala.compiletime.constValueを使えるなら使おう

現状valueOfの方が無駄な処理が挟まりますね。 以下実験結果。Scalaは3.5.2

Scala 3のgivenとusingとtype classのcoherence

type classのcoherenceという観点を中心にして、Scala 3の新しい文法に関して、(Scala 2と比較して)思想やお気持ちを解説した記事をあまり見かけたことがない気がしたので、 特にすごく新規性などがある話ではないはずですが、自分なりに書いてみようと思い…

Partially-Applied TypeとScala 3.6からのSIP-47 Clause Interleaving

Scalaにおいて、一部の型引数だけを明示して部分適用し、残りの型引数は推論させたい、というパターンが稀に存在します。 普通の引数ではなく、あくまで型引数の話です。 そういう場面に遭遇しない人は別に今あまり読む必要はないです。