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

HaskellコードをScalazに翻訳することにより、またekmettライブラリのバグを見つけたかもしれない(1ヶ月半ぶり3回目?)

https://github.com/ekmett/free/issues/38 https://github.com/ekmett/free/blob/v4.4/src/Control/MonadPlus/Free.hs#L143-L156

Scalaで、FutureやOptionやListがネストしてしまったときに、いい感じに変換する方法

Optionで説明してますが、ListやEitherでも同じはずです。とりあえずsequenceとjoinで、どんなにネストしていても、大概変換できるはず? *1 *1:パフォーマンスとか、sequenceの呼び出し順による、細かい動作の違いとかはあれですが。もし似たような感じで困…

ScalaでOperational Monadできた

3ヶ月くらい前に、途中まで書きましたがScalaでOperational Monad(未完成)あらためて続きをやってみたらできましたヤッタ-。

Scala標準ライブラリのParserとScalazとMonadとApplicative

以下の記事http://qiita.com/septagon/items/33c26823e8078c9605eeを見て、「あ、モナド必要ないのにfor式使ってるパターンだ」と思ったので

Scala2.11でのvarianceに関する変更とScalaz

まだ公式アナウンスはされてないけど、2.11.0-M8がmaven centralに上がってます。さて、Scalaz7.0.xの安定版*1は、Scala2.11.0でもクロスビルドする予定です。 *2 しかし、Scala2.11.0-M8でビルドしたら、大量にコンパイルエラーになりました。その話 *1:201…

sonatypeのアカウント作った

今でも、pabさんのこれ自分が作ったScalaライブラリをMaven Centralリポジトリに登録する方法どおりやればOKだった。

ScalazにYonedaとCoyonedaが入った

わーいhttps://github.com/scalaz/scalaz/commit/9636716d9f7068

sbtのpreviousマクロ

最新のsbtに面白い機能が入っていたのを見つけたので紹介。このコミットhttps://github.com/sbt/sbt/commit/c669606999193ab06dec825733fbd68a3afe4d3b#diff-6c1b7251b13f9eae3a2fd7bd6d1481fcR146

IArrayという名前で、またScalaのImmutableなArrayのライブラリを作った

まずgithubのURLhttps://github.com/xuwei-k/iarraysetup方法はgithubのREADME参照

新しいScalazのApplicativeの構文を思いついた

Applicativeというより、正確にはApplyですが。まず、必要となる前提知識として、ScalazのApplicativeの書き方について説明。 (型推論の関係で)なぜか同じことするのに書き方が3種類(以上)あります。 あ、pab_techさんのスライドあるので、以下も参考にどう…

sbt0.13.2-M1の新しいインクリメンタルコンパイル試したら素晴らしい結果がでた

140文字 ✕ 2で表すとこんな感じ sbt 0.13.1[info] Compiling 1 Scala source[info] Compiling 7[info] Compiling 84[info] Compiling 240[success] Total time: 259 s2014-01-10 12:56:08 via web sbt 0.13.2-M1[info] Compiling 1 Scala source[success] To…

sbtのコミッターになった

github時代にコミッターという言い方は(以下略新年早々めでたい。

Predef.identityの代わりにPredef.conformsを使う

かなりどうでもいい細かいパフォーマンスに関する話です。

JavaとScalaのBigDecimalについて色々と

以下のような経緯で、BigDecimalをいじっていて、知らなかったことがいくつか出てきたので、まとまりが無いですがとりあえずわかったことを順に書いていきます。 前提知識として、BigDecimalはDoubleなどで表しきれない大きな数を表すためのクラスです、そし…