scala

bazelというビルドツールとScala

https://github.com/bazelbuild/rules_scala/

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

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

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

昨日の続編

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

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

最近の海外Scala界隈

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

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

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

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

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

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

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

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

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

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

昨日のgrpcの話の続き

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

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

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

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

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

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

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

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

たぶん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

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

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

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

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

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

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

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

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

2015-07-27現在joinしてるgitter room一覧

https://gist.github.com/xuwei-k/8ac08edd68928b794bafいつの間にかgitterだいぶ流行ってる

「Scalaに存在演算子を求めるのは間違っているだろうか」の解答例

なにやってるんだ・・・、と思いつつ見てたら、とりあえず解答を思いついてしまったので貼っておきます。Scalaに存在演算子を求めるのは間違っているだろうか

Scalaでcompanion contains its own main method, which means no static forwarder can be generatedというエラーの解説

英語ならもっと正確なわかりやすい解説あるかもしれないけど、とりあえず書いたので貼っておく。 (なにか間違っていたら教えて下さい)

Scala2.11.7からのJava8に対応した新しいコンパイルオプションを試してみた

"新しい" とは、今まで全部無名classにコンパイルしてたラムダを、invoke dynamic使って動的に生成するようになるとかそういうやつ。

"-Yno-generic-signatures"というScalaのコンパイルオプションとバイナリ(jar)のサイズ

generic-signatureというもの(リフレクション経由でしか取得できない何か?)が、必要ないなら、コンパイルオプションに"-Yno-generic-signatures"指定すると、ある程度バイナリサイズ減ることに気がついた。 とある自分のライブラリ(scalaprops)だと、 7% く…

typesafe社が社名変更大喜利を始めたようです

http://www.typesafe.com/blog/whats-in-a-name For opinions about the @typesafe renaming process, use #typesafename hashtag. Thanks to @trapo1975 for the idea!2015-05-20 11:46:50 via Tweetbot for iΟS参加しましょう(?)

Scalaのオンライン実行環境 scastie

http://scastie.org/ https://github.com/OlegYch/scastie

nscala-timeのScalaのversion毎の使用状況

使用というか、ダウンロード数ですが。 なんとなくsonatypeのグラフを見ていて少し面白そうだったので、あれリリース権限持っていないと見れないので、blogに公開しておく

"Theorems for free!"とParametricityとJVMとCLRのジェネリクスの実装の違いの関係

という題だけ思いついて、中身を書ける気がしないので、誰か書いて欲しい(他力本願)

sbtで "-Ywarn-unused" や "-Ywarn-unused-import" を設定する際のベストプラクティス

前提や問題点 "-Ywarn-unused" と "-Ywarn-unused-import" は、Scala2.11以降の機能 REPLでこれが有効になるとうざいだけなので、REPLのときのみ無効にしたい