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

ScalaMatsuri2016の感想

終わった直後疲れて書く気力がなかったので、今さらながら書く。

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

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

Scala祭でscalatest作者とproperty based testingの話をした

明らかに祭の1日目の一番の収穫でした。

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

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

sbt-protobufというsbtのpluginのコミッターになってリリース権限もらった

https://github.com/sbt/sbt-protobuf 経緯の解説をする

scala-jsでBigIntegerのバグ見つけた

https://github.com/scala-js/scala-js/issues/2159

リフレクションで無理やりplayframework2.4のroutesのコメントを取得しつつURL一覧を返すAPIを作る

タイトルの通りのものをやってみたので解説を書きます。

sbt-dependency-graphをherokuで実行するやつ作った

https://github.com/xuwei-k/dependency-graph

2015年を振り返る

去年書いたやつと同じようなものを

ScalaJSからjavascriptのmsgpack呼び出すことによりScalaコードのバグ見つけたりByte表現の違いについて学んだ話(msgpackのjavascriptのライブラリはバグってなかったごめんなさい)

昨日の続編

ScalaJSからpure javascriptなライブラリを呼び出す(あるいはmsgpackのjs実装のバグを見つけたかもしれない話)

少し前にこんなのを書きましたがScalaJSを使ってブラウザ上のみでJSONからMessagePackに変換するやつを作った

最近の海外Scala界隈

個人的な感覚として大きい転職事案がいくつかあったので書く

ScalaJSを使ってブラウザ上のみでJSONからMessagePackに変換するやつを作った

http://xuwei-k.github.io/scalajspack/

gRPCの公式サンプルをScalaに翻訳した

https://github.com/xuwei-k/grpc-scala-sample

Javaの再帰的ジェネリクスとワイルドカードと型推論とScala

とにかく以下のコード御覧ください。

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

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

travis-ciが設定してあるリポジトリにpull requestする前にやるべきこと

自分の中では、これはわりと常識になっている感があるが、やってくれない人多いので、あらためて説明を書いてみる。

ScalaからScalaPBというsbt plugin使ってProtocol Bufferを使う方法についてのドキュメントを書いている

これは Scala Advent Calendar 2015(アドベンター版) の3日目です

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

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

gitbookとtutとtravis-ciを組み合わせて、自動でビルドして生成したhtmlをgh-pagesブランチにcommitとpush

gitbookやtutやtravis-ciの細かい説明はしないので、各自ググるか、公式サイト参照してください

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

だいぶ今更感ある

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

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

protobufのコード渡すとScalaの生成後のソース返すサイトとAPI作ってる

昨日のgrpcの話の続き

最近grpcのScala対応をしています

成果まとまったら、後でまともな解説を書く。はず

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

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

sbtで依存ライブラリのjarのsha1やsizeをチェックする

sonatypeって確か何故か上書きできる?し、その他なぜか信用ならないリポジトリを使わざるを得ない、もしくはとても心配性な人のためのなにか

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

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

MonadFailという型クラスがHaskell標準になるぞ

https://github.com/ghc/ghc/commit/8c80dcc166e4a083086d8b2めでたい

scalazのEither(Disjunction)のorElse

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

たぶんScala2.12.0-M3のバグ見つけた(3日ぶりN回目)

https://issues.scala-lang.org/browse/SI-9546

たぶんScala2.12.0-M3のコンパイラのバグ見つけた

https://issues.scala-lang.org/browse/SI-9542

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

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

ScalaMatsuriの応募者を有名ライブラリ作者中心に勝手に紹介

どーも。Scala祭実行委員なのか、実行委員ではないのか、よくわからない立場な人です。

protocol bufferのversion 3の仕様のBNFに記述ミスを見つけた気がする

google groupの承認待なのだけど誰か・・・。

竹添さんが紹介してないScalaのWebフレームワークも含めて2015年現在の状況を色々紹介

ScalaのWebフレームワーク事情 2015年版 - たけぞう瀕死ブログ Scala界隈のWebフレームワークやJsonライブラリは良くも悪くも混沌を極めている(?)わけですが、それにしても竹添さんが紹介してるやつだけでは個人的に不公平感というか、混沌としている感が全…

論文を頑張って読もうと思ったきっかけ

"OSSコミュニティがある日突然壊れたときにどうすればいいか"という発表をしてきましたhttp://xuwei-k.github.io/slides/oss-community/#1

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

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

論文は読むのではなく代わりに読んでもらう

プログラマとしてOSSと関わりながら生き残るためにとった生存戦略

よく「どうやって情報手に入れてるの?」みたいに聞かれますが、そんなの、ひたすら時間かけてgithubみたりメーリングリスト読んだり最近ではgitterの会話読んでるに決まってます。 どうやって(How)ではなく、なぜ(Why)、自分がそんなことをするようになった…

Typeclassopediaに足りない型クラス

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

2015年9月26日現在のScalaのweb frameworkのgithubのstar数での順位

ここで挙げてるやつで、あきらかにかなり上位に入るのに、なにか忘れてるあったら教えて下さい。

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

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

未来から送られて来た関数型プログラミングロボット

ついにバレてしまったか・・・(ぇ

usagiというscalaz-stream (fs2) 使ったRabbitMQクライアント作った

https://github.com/xuwei-k/usagi

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

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

今日のscalaprops言及されてた情報

記念(?)に貼り付けておくだけのエントリ

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しました。という内容です。