Entries from 2011-01-01 to 1 year

PartialFunction in Haskell

#scala にあって他の関数型言語には見られない機能として、PartialFuncttionがあるが、良いものだと思う(命名は良くない。CheckableFunctionとか他の名前が良かった気がする)。おかげでcollectみたいなメソッドが定義できるし、他にも応用が利く。 という @k…

今年読んだ面白CS論文紹介カレンダー 9 日目みたいなもの

今年読んだ面白CS論文紹介カレンダー 9 日目?ですか?カレンダーとはなんぞやという感じですが、いつ書いてもいいっていわれたので今書きます。皆さんが大変真面目な紹介をしているところ非常に心苦しいのですが、ボクにはとても面白げに紹介なんてするでき…

Re:ParsecでApplicativeを使ってみる

ParsecでApplicativeを使ってみる追記されたコードもう Functor しか使ってない…!ということで、こういうのはどうでしょう。 parseSExp :: Parser Int parseSExp = between (char '(') (char ')') expr where expr = foldl1 <$> op <* spaces <*> nums op =…

COMFRK VOL.3 Advent Calendar 四日目

少し遅れましたが COMFRK VOL.3 Advent Calendar 四日目です。書くの忘れてました。一年半ほど前から Haskell 界隈で Iteratee という入力処理手法が流行っています。Haskell Advent Calendar 17 日目の記事でも言われていますが、まさに Iteratee 戦国時代…

COMFRK VOL.3 Advent Calendar 二日目

COMFRK VOL.3 Advent Calendar 二日目です!え、一日目?えへへ…実際窓に。そんなわけで今日は COMFRK VOL.3 の記事を紹介したいと思います!タイトルは「今夜はお前と俺でマルチパラダイムだからな」です。ユウジョウ!関数型プログラミングとオブジェクト…

scalaz.ApplicativeBuilder メモ

fmap :: Functor m => (a -> b) -> m a -> m b apply :: Applicative m => m (a -> b) -> m a -> m b build2 :: (Functor m, Applicative m) => m a -> m b -> (a -> b -> c) -> m c build2 ma mb f = apply (fmap f ma) mb build3 :: (Functor m, Applicati…

なんかメモ

ヤック殺人事件。http://hackage.haskell.org/packages/archive/derp/0.1.5/doc/html/src/Text-Derp.html parser :: (Ord a) => ParserRec Parser a -> FPValue Bool -> Parser a parser p n = fix $ \ self -> Parser p n (memoFun (deriveImp self)) (comp…

Open Recursion in scala もしくは関数型もオブジェクト指向も仲良くしようよぉのお話

追記:これの完全版みたいなのが comfrk vol3 に載ってます。「今夜はお前と俺でマルチパラダイムだからな」とかいうのです。あまりにもアウトプットしなさすぎなので適当に何か書きます。フィボナッチ関数を scala で object-oriented な感じで書いてみます…

Coq のモジュールさんの気持ちがわかりませんのこと

coq

あまり元気ではないですが元気です。さて世間は猫も杓子も証明という感じで大変恐ろしい、ところがボクもご多分にもれず、ということで Coq です。 Module Type A. Parameter n : nat. End A. Module B : A Definition n := 0. End B. Theorem B_n_eq_zero :…

Bitmap を SoftReference で管理すべきではない

追記:3.0 より Bitmap はネイティブヒープを利用しなくなりました。キャッシュは 3.1 以降なら LruCache を使えば大体問題ないと思います。手が痛いので、簡単に。一年以上前の記事ですが、CacheオブジェクトにはSoftReferenceをとか、最近だと、WeakHashMa…

"implicit" を調べる

scala 子ネタです。implicit conversion も implicit parameter も便利なわけですが、如何せんどこから降って沸いてきたのか分からない、ということが多いのが困り物です。 例えば Array[T] の先頭要素が欲しいときには、 scala> Array(1, 2, 3).head res0: …

icfpc 2011 に参加しました

なんとも情けない結果になりましたが参加はしました。仕様言語はシェルスクリプトです!!実際にはシミュレータを scala で、シェルスクリプトを生成するものを ruby で書きました結局 official には submit はしませんでした。unofficial なサーバーに、ひ…

scala で gnu global を使う

gnu global がないと生きていけない体なので scala でも使えるようにしました。ヤッタネェ!https://github.com/lyricallogical/global_scala_support手抜き実装なので、宣言と定義の区別がつかず、宣言も全て定義扱いになってしまいますが、勘弁してくださ…

AlertDialog.setMessage の罠

例えば、メッセージ毎に AlertDialog を生成するのは無駄なので、prepare で適宜メッセージを差し替える、というようなコードを書くことがあると思います。 private Dialog createAlertDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(th…

第1回JVM ソースコードリーディングの会に参加しました

ちょっと準備不足感は否めなかったかな的な、でも楽しかったです。途中少し出てきた話のまとめ。http://www.google.com/codesearch#sDZn6PDCLEM/src/share/vm/oops/cpCacheOop.cpp&q=cpCacheOop.cpp&type=cs&l=178というのがあって、 m:~/src/java % cat Hog…

HandlerThread

適当にループまわして適当にディスパッチされたタスクを適当に処理したい、みたいな時は HandlerThread クラスを使いましょう。そんなに難しいクラスではなくて、基本的には、 @Override public void run() { Looper.prepare(); Looper.loop(); } みたいなも…

git かわいいよ git

git

例えば tests/ 以下のテストケース群があまりにも乱雑としているので、ディレクトリ分けたりして整理しよう、とかするわけです。 こういうとき svn だと一々 svn move しないといけなくてストレスフルなわけですが、git なら普通に mv とかで整理したあとで…

他人がプログラミングしている所を眺める会

http://partake.in/events/01c8d348-ebcb-4151-9183-d63fd8a2db50主催しました。おつかれさまでした!

SH-03C(LYNX 3D) のマルチタッチ時のバグ

はまってしまいました。端末情報は↓ ファームウェアバージョン 2.1-update1 ベースバンドバージョン 1.00 カーネルバージョン 2.6.29-perf build@Sharp #1 ビルド番号 01.00.03 基本的には問題ないようなのですが、ID が 0 の(つまり一番最初にタッチされた…

trait

http://twitter.com/#!/kmizu/status/64556087201906688http://twitter.com/#!/kmizu/status/64556399484612609とりあえず調べてみました。

オブジェクト指向ラヴのこと

鼻が詰まって目が覚めてしまいました。時間あるので、朝から意識高くブログで釣り記事を書いていきます。オブジェクト指向結構好きだという話です。アクセスコントロール。カプセル化という言葉は何かイマイチ響きがよくないと思うので勝手に言い換えます。 …

scala で android アプリケーションを作ってみる

scala はあまり知らないんですが、ちらと遊んでみました。

android でテスト用データを用意し利用する

比較的どうでもいい系の情報ですが Web で日本語になってないぽいので、一応書いておきます。android のテストを記述する際に、テスト用データをどうやって用意すべきか、というのがあるわけですが、単純にテストプロジェクトでも assets ディレクトリに配置…

D 言語会議 #1 に参加しました

D

http://partake.in/events/feac18f7-0b78-4129-92c5-ad0cce8feafb参加者数に余裕ありそうだったので、飛び入りで参加しました。D とか最早何も知りませんけども… 忘れないうちに、覚えていることを書き残しておきます。

Objective-C の季節 - retain

皆さん GC のない Objective-C でガシガシメモリ管理してますか?ボクはしてますよ〜♪まあ近頃は Objective-C == iPhone アプリみたいな感じですから、している皆さんも多いのではないでしょうか。さて retain です。Cocoa フレームワークの NSObject クラス…

Objective-C の季節 - メタクラス、インスタンス変数リスト

早春といったら Objective-C の季節ではないでしょうか?いえ、そんなことは別になくて、仕事で Objective-C 使うことになったので、仕方なく調べてみようという話です。そんなわけで Objective-C を知ろうのコーナー、始まります。ubuntu で試しているので…

Objective-C の季節 - メソッド、セレクタ

間違えて保存してしまったんですが、続き物ということにしてしまいます。

レガシーコードと shared_ptr

C++

もうちょっと続くんじゃ。http://shinh.skr.jp/m/?date=20110226#p03 基本カスタムデリータとか使った時点で負けてる感が強いというか…全く正しいです…設計まともなら、カスタムデリータとかまあ普通出番ないですね。これは重ファク*1です。 あと shared_ptr…

スレッドと所有権

C++

スレッド、というかスレッドのスタックや TLS っていうのは、通常所有することのできない、レアなオモシロリソースなんですよね。物理デバイスに紐づいたリソースとかもそうですけど。http://twitter.com/#!/Cryolite/status/41392398366015488 作成したスレ…

Boost.勉強会 #4

無闇にでかいというだけであまり好きでなくなってきた Boost ですが(というか、「Boost が」好きだったことがあっただろうか?)、勉強会がありました。それで発表したらしいです。適当ですがプレゼンおいときます。https://docs.google.com/present/edit?i…