scalaz

ScalazをDotty対応した知見

少し前に、こっそりと、かなりひさしぶりな(互換壊す)メジャーリリース?となる、7.3.0 finalをリリースしたけど全然リリースノート書いたり宣伝もしていないScalazですが、 もう最近自分しか開発していない感があり、猫のほうが明らかに流行っています。 が…

scalaz-magnoliaというライブラリをリリースした

一週間少し前に以下のようなのを書きましたが xuwei-k.hatenablog.com その後、

scalazのコミット数が1位になった

finally (๑•̀ㅂ•́)و✧https://t.co/Y52DVWOBQT pic.twitter.com/b6tYt6Aish— Kenji Yoshida (@xuwei_k) 2017年11月12日

Scalazのscaladoc内のjavascriptファイルが数MBあって巨大で遅い件について考えた

さきに結論: sonatypeに自動でjavadocやscaladoc展開する機能あるけど、なにも最適化されてなくて遅い。javadoc.ioはキャッシュやgzip圧縮対応されてるのか速い

Scalazのscala-native対応

scala-nativeの0.1がリリースされる(maven centralにはもう上がってる)らしいです。 scala-nativeとは、ScalaをJVMではなくLLVM使ってJVM以外で動かすやつです。 https://github.com/scala-native/scala-native さて、というわけで、scalazを早速対応させま…

kind-projectorにscalaz.NaturalTransformationなどを短く書ける機能(polymorphic lambda)が入った件

アルパカさんありがとうございます!

Scala2.12になるとscalaz-coreのjarサイズが半分になる

めでたい!!!

scalazのIMap更新したい話

更新したいのは厳密には自分ではないが(?)、とりあえず現状の考えまとめる

scalazとscalapropsとmsgpack4zを全部Scala.js対応した

やっと出しました。めでたい

Cogenが入った新しいscalacheckがリリースされたけれどバグってるみたいだし我慢の限界なのでscalazの全てのテストをscalapropsベースで書き換えたい件

https://github.com/scalaz/scalaz/issues/1096 https://github.com/scalaz/scalaz/pull/1095 https://github.com/rickynils/scalacheck/issues/218

ScalaMatsuriでApache KafkaとScala.jsとScalazの話をした

資料貼り付けるだけの何か

継承ではなくself typeを使って型クラスの関係を表現する

https://github.com/xuwei-k/scalaz-prototype

Scalaz 7.2.0 finalをリリースしました

はい、リリースしました。めでたい。

scalazに関する日本語ドキュメントを書いている

これはScalaアドベントカレンダー2015(adventar版)の2日目です。http://www.adventar.org/calendars/904

case class用のscalazのEqualとOrderのマクロ作った

だいぶ今更感ある

extension typeをサポートしたmsgpack4zの0.2.0をリリースした

個人的にはextension type使う予定ないというか好きじゃないけど、なんとなく対応させてリリースしました

Scalaでstack overflowしないFree Monad TransformerやFree MonadPlus

以前いくつか関連したもの書きましたが

Scalaでtraitにメソッド追加するとバイナリ互換壊れるけどabstract classだと壊れないという例

プログラマなら論よりコードで示すべきですよね (英語力ないだけです、すいません)

scalazのEither(Disjunction)のorElse

以下のpull reqの意味が最初よくわかってなかったのだけど、さっき試して理解したのでメモhttps://github.com/scalaz/scalaz/pull/1021

そろそろscalaz 7.2 の final 出すぞ!

https://github.com/scalaz/scalaz/issues/1029

Scalaでバイナリ互換を維持しながらのプロジェクト運営

json4sでせらさんが頑張ってくれるらしいけど、どこにも(たぶん英語でも)まとまった知見ないはずなので、とりあえずscalazの知見をもとに、まとめておく

Typeclassopediaに足りない型クラス

挙げようと思えばいくらでも挙げられるとは思うけれど、とりあえず自分が思ったものをいくつか挙げておきます。

scalaz.Treeとカタラン数。そして代数的データ型とzipperと微分

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900・・・ という数列を知ってますか?カタラン数と言うらしいです。

関数プログラミング交流会という勉強会で"Scalaにおける関数型並列並行プログラミング"という話をした

ほぼ資料貼り付けるだけのエントリ。広く浅く話しただけで、それほど新しい情報とかあるわけではないです

scalaz.Leibnizの名前の由来

scalazに限らずHaskellもしくはCoqなどの定理証明系の言語の文脈でもLeibniz Equalityという言葉出てくると思いますが、その話

Divisible型クラスやそのメソッドの名前の由来

数日前にDivisibleなどのことを書きましたが、その名前の由来について、気がついたことをメモ。

ContravariantやInvariantなApplicativeとscalaz.Equal, Orderとscalaprops.Cogenと各種シリアライザ―(scodec, argonaut, play-json, msgpack4z)

タイトルにわざと色々詰め込んでとても長くしてみましたが、一言で言うとContravariantなApplicative使うとそれらが共通化出来て便利なことに気がついたのでpull reqしました。という内容です。

Scalaでのtagless final

ひたすらググって見つけたのをメモするだけのエントリ

Free PreArrow

せっかく書いたので、とりあえず貼っておく。 とくに解説も結論もない

関数型Scalaという勉強会でproperty based testingについて話をした

Scalaの勉強会で半分くらいHaskellの話してすいませんでした。http://xuwei-k.github.io/slides/scalaprops/