2013-12-01から1ヶ月間の記事一覧

Scalaz7.1系の最新開発版に依存したライブラリのテスト

あくまでも現時点の情報なので、ここに書いてあることの大半は結構すぐに古くなる、もしくは(おそらく7.1.0finalが出ときには)必要なくなる可能性があります。

2013年のScalaz

もう2013年も残すところ数日なので、振り返ってみましょう。 2012年はこんなものgithubで年間100 pull request した書きましたが、今年はScalazのコミッターになったり色々あって、github上でのかなりの活動の部分をScalazが占めるので、まずScalaz中心に201…

Playframework2でコンパイル速度を向上させるには?

あっ気づいたら、play2のScalaのアドベントカレンダー途切れてる・・・。 さて、play_jaのメーリングリストに「コンパイル速度遅いのでどうにかしたい」というような投稿があったので、せっかくなのでメーリングリストに直接返信するのではなく、blogに書い…

Scalaでの再帰的implicitとRank2Type

「再帰的implicit」という、普通にScala書いていたら遭遇しない話をします。なので、多くの人にとっては役に立たないだろうから、そういうのに興味のない人は読まないほうがいいです。

Scalaで抽象メソッドをoverrideする際にoverride修飾子を付けるべきかどうかの是非

まずいきなりコップ本第二版から引用(191ページ) 親クラスの具象メンバーをオーバーライドするすべてのメンバーにこの修飾子を付けなくてはならない。また、同じ名前の抽象メンバーを実装する場合、この修飾子はオプションとなるため、付けても付けなくても…

Scalaの正規表現

togetter 正規表現が構文として必要かどうかという話から プログラミング言語における正規表現リテラルの必要性についてこういう収集がつかなそうな話題にあまり首突っ込むの好きじゃないんですが、blogに書いておけば、まぁそれはそれでScalaをあまり知らな…

Playframework2のJsonやJsResultと型クラスとそれらに関する罠

これは Play framework 2.x Scala Advent Calendar 2013の17日目です。 アドベントカレンダーが埋まらないので、また役に立つかどうかわからない微妙なネタで、7日目に続き、2回目の参加です。

ScalazのTypeclassの図作った

以前「怖いScala」のときに紹介したように、すでに他の人が作ったクラス図が存在したりhttp://leifwarner.net/scalaz.svgまた、自動で生成されるクラス図のサイトかなり昔に作ったこともありますがhttp://class-diagrams.herokuapp.com/scalaz.MonadPlus.svg…

sbtの密結合な内部アーキテクチャ

sbt

sbtというと、独特なSettingのシステム*1や、Scalaで記述する内部DSL*2ばかりが注目されがちです。それらは、初心者にわかりづらかったりして批判されることが多かったり、逆にsbtを使い慣れた人にとってはとても強力で面白い仕組みです。Settingのシステム…

型パラメータをとらないcase classのコンパニオンはFunctionを継承する

知っててもそれほど頻繁には役にたたない(?)、トリビア的なもの。説明するよりコード示したほうがわかりやすい気がするので、まずはコード

今までPlay2にしたpull request

これは、Play framework 2.x Scala Advent Calendar 2013の7日目です。 誰得?なのかわかりませんが、標題の通り、自分が今までPlay2にしたpull requestまとめてみます。rejectされたものも一応いれておきます。Play2のScalaのアドベの参加者少ないらしいの…

プログラミングの魔導書3

http://longgate.co.jp/books/grimoire-vol3.html(一応レビューに参加した関係で)PDF版を発売前に頂きました*1 *1:献本頂きました、って書こうとしてこれ思い出して、こんな言い回しになったが、なんか難しい・・・ http://kentaro.tumblr.com/post/48615480…

標準ライブラリのJSONはScala2.11から非推奨になるので使ってる人は今すぐ使うのやめましょう

「非推奨になるからやめろ」というより「もともと設計がよくなくてとても使いづらい」です。それに加えパフォーマンスも良くない(悪い?)です。オマケ程度になぜか標準ライブラリに存在していただけで、そもそも最初から使いづらいのであまり使われていませ…

悲報: 限定継続に続きscala-swingも瀕死

以前こんなの書きましたが Scalaの限定継続が死ぬかもしれないらしい「*1typesafeのScalaコア開発者チームでは、限定継続をメンテしない」はほぼ決定事項になったようです。 *1:特にメンテナンスする人がでてこなければ

Scala2.11の警告機能がとても親切で素晴らしい件

何回かtweetした気もするけど、素晴らしいので別記事として書いておきましょう。まず以下の例みてください。