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

playframeworkは、Iteratee使うのやめるかもしれないらしい

@pk11 reactive streams will (eventually - play 3) replace iteratees as the base IO API. Iteratees will stay around, but be optional.2014-04-17 20:41:26 via web to @pk11

sbtでunidocを自動でsonatypeにpublishする

sbt

まずsbt-unidoc https://github.com/sbt/sbt-unidoc というsbt pluginの簡単な説明。(以下の説明は、現時点で最新の0.3.0という前提です) sbtでサブモジュールを分けた場合、標準ではそれぞれ個別のScaladocしか作れない sbt-unidocは、すべてのモジュールを…

WriterTはアンチパターン

I wish the `transformers` library had a RWT (ReaderT + StateT) monad transformer. WriterT is an anti-pattern.2014-04-09 12:17:20 via Twitter for Android @GabrielG439 why is it an anti-pattern?2014-04-09 12:22:13 via Echofon to @GabrielG439…

sbtのバグを見つけたと思ったら、結局Scalaのバグだったという話

https://gist.github.com/xuwei-k/10002590 https://github.com/sbt/sbt/issues/1237

Scalatraの今後とhttp4sとscalaz-stream

適当につぶやいてたら、mentionきていつもどおり(?)ビビりました。

playframework2のjsonに関するライブラリつくった

https://github.com/xuwei-k/play-json-extra昨日の夜、数時間くらいで適当に作った。*1モチベーションとしては *1:あまりちゃんと調べてないが、他に似たようなもの作ってる人いないはずだし、play2のmaster見てもなかった

httpzというAPIクライアントライブラリを作るためのライブラリを作った

https://github.com/xuwei-k/httpzzというのは、特にいい名前思いつかなかったので、Scalaz的にとりあえずz付けておけばいいか、とかそういうノリです。

scala-java8-compat Java8からScalaを使うためのライブラリ

retronymさんというScalaのコアのコミッターの人*1が、個人のリポジトリで作業してたものが、Scalaのorganizationに移ってました。https://github.com/scala/scala-java8-compatタイトルにも書きましたが、一言でいうと 「Java8からScala(のFunction1 trait…

ScalaやPlay2とJava8の互換性

Java8というものが出たらしいですね。 ScalaとJava8というと、ScalaがinvokeDynamicなどの新機能使うのいつだよ?とか面白い話題が色々とありますが、そんなことは書かずに単に互換性の話だけを、自分が知ってる範囲で簡単に書いておきます。

sbtで一つ下の階層のシェルに入るコマンド

sbt

よく忘れるので書いておく reload plugins 戻り方 reload return https://github.com/sbt/sbt/blob/0.13.1/src/sphinx/Extending/Plugins.rst#1c-automatically-managed-command-line-approach

issue報告したらFree MonadPlusが消えた

https://github.com/ekmett/free/issues/38 https://github.com/ekmett/free/commit/69e35adf0bee1

Scalaの新しいリフレクションとマクロ、Palladiumとは?

"新しい"というのは、Scala2.11のことではないです。知らないうちにすごいものが始まっていたようです。https://github.com/scalareflect https://groups.google.com/d/topic/palladium-internals/BtWfykLO0HQ/discussion

Scala初心者がPlay2.2を使ってtwitter連携アプリを作ろうとしたときにハマった罠

飛び入りで、芸者東京さんの勉強会で、初心者にScalaを教えるという勉強会をしてきた時の話です http://partake.in/events/5c793335-6b54-43f5-ac6f-6234b0847308

argonautのコミッターになった

さっきこんなmentions https://twitter.com/markhibberd/status/441801961474498560 がきてた。めでたい

ghscala 0.2.5 リリース

例のOperational Monad使ってるGithub APIクライアント。なんか数日に一回のペースでリリースしてる。https://github.com/xuwei-k/ghscala/tree/v0.2.5

ScalaでGoogle App Engine内からhttpリクエストをしようとして苦労した話

結論からいうと「Scala2.10でGoogle App Engine内からhttpリクエスト投げるときは、scalaj-http0.3.6を使うとうまくいく」versionがそれより古くても新しくてもだめ。理由は

ScalaでOperational Monadを使って作ったAPI clientの内部実装の解説

気が向いたら書く、と言っていた解説を書きます。Operational Monadを使用した最初のversion0.2.0を出してから、色々機能追加したり試行錯誤したりして、結構変わっています。その辺りの試行錯誤や経緯も少し含めて、内部の実装や設計の説明を書きます。http…

Scala2.10から2.11の変更点

例のごとく、最初に注意書き まだfinalがでていないので、細かい部分変わるかもしれません*1 個人的に、「大きい変更点だなと思ったもの」「ライブラリ側のユーザーが直接使うクラス関連*2」「なんとなく興味があるもの」を中心にとりあげただけで、すべてを…

Scalaでoperational monad使ってgithubのAPI client書いてリリースした

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

distributed buildについて

typesafe社が(これ書いている2014-02-23現在) closed sourceで開発してるソフトウェア を勝手に紹介する謎エントリです。追記: 2014-09-22にオープンソースになったようです! https://github.com/typesafehub/dbuild

sbt-sonatypeとsbt-release pluginを組み合わせて使うサンプル

sbt

追記 sbt-sonatype0.2.1から、sonatypeReleaseAllがInputKeyではなくTaskKeyになったらしいので、sonatypeReleaseAllを使う場合は「わざわざTaskKeyを作ってInputTaskからTaskKeyに変換」というのはいらなくなったよ! 追記おわり versionは sbt-sonatype 0.…

Scalacheckで無理矢理クラス毎にパラメータを変える

Scalacheckのversionは1.11.3です。 あくまでも無理矢理です。

travis-ciを使ってSNAPSHOTのjarを自動でsonatypeにpublish

最近いつくかのプロジェクトがやっていたので scalameter https://github.com/scalameter/scalameter/blob/12f48c269c11/.travis.yml#L6-L10 https://github.com/scalameter/scalameter/blob/12f48c269c11/project/Build.scala#L10-L25 shapeless https://gi…

関数型RubyとScalaとKleisli

以下のエントリ「関数型Ruby」という病(6) - 関数合成と文脈、Proc#liftとProc#>=、そしてモナに便乗して、(一部の例を)Scalaに翻訳してみるのと、ScalazのKleisliの話をします。Scalaや関数型に興味のない人は読まないほうがいいかもしれません。わざとMona…

SI-7475 アップキャストするとコンパイル通るようになるのが気持ち悪い

https://github.com/scala/scala/pull/3503 https://groups.google.com/d/topic/scala-internals/h8ztMqw-3Xg/discussion https://github.com/scalaz/scalaz/pull/645

dottyという新しいScalaコンパイラ実装

公開されてました。たぶん1年くらいclosed sourceで開発されていたらしい?https://github.com/lampepfl/dotty https://groups.google.com/d/topic/scala-internals/6HL6lVLI3bQ/discussion

デブサミ2014「OSSコミッタ大集合」というので登壇してきた

http://event.shoeisha.jp/devsumi/20140213/session/394 https://docs.google.com/presentation/d/1eh7fMYMEUA1CriyUxay4wkYaWtnxLkg0l4jtd9CXLv4/htmlpresent http://togetter.com/li/628956

ScalaのHashSetのバグ見つけた

2.11.0-M8、もしくは、これ書いてる2014-2-12現在のmasterのみで発生。 2.11.0-M7以前や、2.10では発生しないっぽい。 https://issues.scala-lang.org/browse/SI-8264

bintray使うのやめて、sbt-sonatype経由でsonatype直接使っていこうと思う

以前 もしかしたらsonatypeだけですむならbintray使わなくなるかもしれないし、同期や機能面で便利なら、引き続きbintray利用しつつ、bintray経由でsonatypeやcentralへのミラーをするかもしれない http://d.hatena.ne.jp/xuwei/20140122/1390327531などと書…

Scala、sbt、playframeworkのversion切り替えツールの使いどころ

さて、以下の様なものがありますがScalaのversion切り替えツール https://github.com/yuroyoro/svmsbtのversion切り替えツール https://github.com/paulp/sbt-extrasplayframeworkのversion切り替えツール https://github.com/kaiinkinen/pvmそもそも、なぜ…