Scala の Map.flatMap の罠

Posted on 火 03 9月 2019 in プログラミング • Tagged with Scala, Collection Library, Map, 標準ライブラリ

Scala のコレクションライブラリは難しい.最近,強くそう思える事案に出くわしたので,そのメモ.なお,使った環境は以下の通り:

Scala のバージョン 2.13.0
Java Runtime のバージョン Java(TM) SE Runtime Environment 1.8.0_131
Java Hotspot …

Continue reading

Scala (Dotty) での Graded Monad によるメタ言語の実装

Posted on 金 07 6月 2019 in 構想 • Tagged with エフェクトシステム, モナド, Scala

Graded Monad のメタ言語,普通にプログラミング言語で実装できそうやなって思って,ちょっとやってみることにした.で,前ねこはるさんが extensible effects に Dotty の union types 使う話してたの思い出して,それと同じ感じで powerset による preordered monoid に対する graded monad ぐらいなら実装できるんじゃねと思ったので, Dotty …


Continue reading

Scala コードの裏側

Posted on 水 24 4月 2019 in プログラミング言語 • Tagged with Scala, Java, JVM, 最適化

先日, Scala コードの裏側について幾つか話を聞いた.で,気になったので実際に JVM コードを出して,色々見てみることにした.なお,当方 Scala 初心者なので,おそらくかなり間違いを含んでるのと,普段使いの感覚からは離れてる部分はあると思うので,そこら辺は注意して読んでくれって感じ.

Scala コンパイラの概要

Scala コンパイラが実際どういう処理をしてるのか知らなかったので,まずはその辺を調べた. Scala は,プログラムを複数のフェーズに分けてコンパイルし,最終的に JVM …


Continue reading