2014-01-01から1年間の記事一覧
資料一覧 toggetterまとめ ニコ生
コードのベースは、もう4年くらい前 に書いたやつ持ってきただけhttps://github.com/xuwei-k/sbt-class-diagram
まず、下記の10行程度のScalaコードをご覧ください sealed abstract class Foo[A, B] final case class X[A]() extends Foo[A, A] final case class Y[A, B](a: A, b: B) extends Foo[A, B] object Main { def hoge[F[_, _], A, B, C](foo: Foo[A, B], bar: …
追記 ドメイン駆動では、べつに下位層に上位層がアクセスしてはいけない、というような決まりはないらしい、とj5ik2oさんから教えてもらいました @sifue @xuwei_k DDDの文脈でいうと上位層は下位層のすべてにアクセスできます。DDD P66, P70みてもそのような…
http://connpass.com/event/7261/
https://github.com/scalaz/scalaz/pull/693tagged typeとは、Haskellのnewtypeみたいなやつです。
細かく文章で解説書こうかと思ったけれど、面倒になってきたし、図を貼ったほうがわかりやすいので、貼っておくhttp://xuwei-k.github.io/akka-2.3.3-dependency-graph.svg
色々あって、今まで避けてきた(?)akkaについて、触らないといけない感じになってるので、個人的に整理するためにまとめてみます。もともとそれほど詳しくないので、とくに面白い新しい情報とかほぼ書かないと思う*1ので、そういうの知りたい人は公式ドキュメ…
できた気がするhttps://github.com/xuwei-k/twitterz/commit/b1d8201 https://github.com/xuwei-k/macro-annotation-sample/commit/47896fc1c0
https://github.com/xuwei-k/twitterz
メモ alias objectsize='screpl com.twitter.common%objectsize%0.0.10 "twttr at http://maven.twttr.com/"'https://github.com/twitter/commons/blob/20fabe1bb0/src/java/com/twitter/common/objectsize/ObjectSizeCalculator.javaべつにscrepl経由で使わ…
Scaladays2014の写真がtwitter上で流れてきて「あーまたrunaroramaさん、Free Monadの話してるのかー」と思ったら、たしかにFree Monadの話もしてたみたいですが、それの発展形(?)的な感じで、Coproductや、Injectという型クラス(?)の話をしていたようです。…
pull reqしたけど、数日反応がないのだけど、まぁぜひ入って欲しいので、簡単に解説書いておこう。同意してくれる人がいたら、pull reqの欄に+1とかコメントしてくれるとありがたいhttps://github.com/n8han/giter8/pull/136/files
久しぶりにJavaで遊んで、JavaでFree Monad書いた際に得られた知見を記しておきます。https://github.com/xuwei-k/free-monad-java筆者は、Javaの言語仕様や、型理論に関して、人並みかもしれないけど(?)別に専門家ではないので、あまり厳密なこと求められて…
以下の、Appleが最近発表したSwiftという言語の、面白い(?)仕様が話題になってますが、 This playground should illustrate why the immutability behavior of #Swift is *terrible*: URL2014-06-10 19:31:56 via Twitter for Mac 大事なことは全部MLが教え…
書いたhttps://github.com/xuwei-k/free-monad-java
sbtにissue作るかpull reqを出したいけれど 「誰が見ても明らかなバグで修正方法も明らか」 ではなく*1、少し議論の余地がありそうだけれど、そのあたりを英語でうまく説明する自信がないので、まずは日本語で書きだしてみるシリーズ(たぶん後でissue報告かp…
これ書いてる2014年6月7日現在、twitterのutil-evalのScala2.11対応版が出てないみたいですが(もう出たようですね)、Scala2.10から以下のように10行20行程度書くだけで簡単にevalできるようになってるので、twitterのutil-evalわざわざ使わなくてもいいと思…
tototoshiさんの、これPlay 2.3 がリリースされたので変更点と試し方を説明しますの便乗(?)的な感じで、なぜか自分もチュートリアルを書いてみます。普通に書いたら意味ないので、少しだけ変わった方法を書いてみます。
giter8-pluginのversion0.6.4時点の情報です。giter8-pluginは、giter8で作ったテンプレート自体のテストを書くためのsbt-pluginです。
これが元のJavaScriptファイル https://github.com/playframework/playframework/blob/2.3.0-RC1/samples/scala/websocket-chat/app/views/chatRoom.scala.jsこっちがScalajsで書き直したもの https://github.com/xuwei-k/play-with-scalajs-example/blob/e1…
このpull reqがmergeされたので https://github.com/playframework/playframework/pull/2764 よほどのことがない限り、もう99%、Scala2.11対応するのは確定ですね。では、Scala2.10は切り捨てるのか?というと、おそらくそうではなく、play2.3ではScala2.11…
こんにちは、なぜか足を捻挫して、ゴールデンウィーク9連休なのにほぼ家に引きこもってるマンです。足はこんな状態です(グロ注意) http://f.hatena.ne.jp/xuwei/20140501181556さて、そんなことはどうでもよくで、sbt-lockというsbt pluginのテストを書いた…
skinny-frameworkが依存してる、scalatra2.2.x系が、servlet3.0以上のみサポート これ書いてる現在、なんとgoogle app engineはservlet2.5までしかサポートしてない!?*1 https://code.google.com/p/googleappengine/issues/detail?id=3091 servlet3.0がで…
タイトル長くなりすぎるからやめましたが、本当に話したいこと、話すことは、 「サブプロジェクト毎にクロスビルドするScalaのversionが異なる場合」 だけではなく 「さらにその中にsbt pluginがあってscripted testもしたい場合」 です・・・つらい・・・。…
https://groups.google.com/d/topic/scala-internals/C3WPyRWM718/discussion https://docs.google.com/document/d/1eb3Xx22SEWqm6h27qnp9l-Ea-FagM5rn8tuyfpSq72o
httpzという名前の、Scalaz使った純粋関数型なhttpクライアントライブラリ作ってるのは、何回も書いてますがScalaでoperational monad使ってgithubのAPI client書いてリリースした httpzというAPIクライアントライブラリを作るためのライブラリを作ったそれ…
travis-ci上でそれぞれscalaz-coreとspecs2-commonをそれぞれScala2.10.4と2.11.0で7回コンパイル繰り返した結果が以下
以前書いたこれコンパイル時に、 String を lift json に変換する macro https://github.com/xuwei-k/json_macro
それぞれ、sonatype経由でmaven centralにpublishしてます。もうScala2.11.0でも使えるようにcross buildしてます。2.11.0対応以外にも、最近は地味に(ここに書いた以外にも)自分のライブラリ細かくリリースして、tagつけてpublishしてるので、もし良かった…