Entries from 2011-01-01 to 1 year
#scala にあって他の関数型言語には見られない機能として、PartialFuncttionがあるが、良いものだと思う(命名は良くない。CheckableFunctionとか他の名前が良かった気がする)。おかげでcollectみたいなメソッドが定義できるし、他にも応用が利く。 という @k…
今年読んだ面白CS論文紹介カレンダー 9 日目?ですか?カレンダーとはなんぞやという感じですが、いつ書いてもいいっていわれたので今書きます。皆さんが大変真面目な紹介をしているところ非常に心苦しいのですが、ボクにはとても面白げに紹介なんてするでき…
ParsecでApplicativeを使ってみる追記されたコードもう Functor しか使ってない…!ということで、こういうのはどうでしょう。 parseSExp :: Parser Int parseSExp = between (char '(') (char ')') expr where expr = foldl1 <$> op <* spaces <*> nums op =…
少し遅れましたが COMFRK VOL.3 Advent Calendar 四日目です。書くの忘れてました。一年半ほど前から Haskell 界隈で Iteratee という入力処理手法が流行っています。Haskell Advent Calendar 17 日目の記事でも言われていますが、まさに Iteratee 戦国時代…
COMFRK VOL.3 Advent Calendar 二日目です!え、一日目?えへへ…実際窓に。そんなわけで今日は COMFRK VOL.3 の記事を紹介したいと思います!タイトルは「今夜はお前と俺でマルチパラダイムだからな」です。ユウジョウ!関数型プログラミングとオブジェクト…
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…
追記:これの完全版みたいなのが comfrk vol3 に載ってます。「今夜はお前と俺でマルチパラダイムだからな」とかいうのです。あまりにもアウトプットしなさすぎなので適当に何か書きます。フィボナッチ関数を scala で object-oriented な感じで書いてみます…
あまり元気ではないですが元気です。さて世間は猫も杓子も証明という感じで大変恐ろしい、ところがボクもご多分にもれず、ということで Coq です。 Module Type A. Parameter n : nat. End A. Module B : A Definition n := 0. End B. Theorem B_n_eq_zero :…
追記:3.0 より Bitmap はネイティブヒープを利用しなくなりました。キャッシュは 3.1 以降なら LruCache を使えば大体問題ないと思います。手が痛いので、簡単に。一年以上前の記事ですが、CacheオブジェクトにはSoftReferenceをとか、最近だと、WeakHashMa…
scala 子ネタです。implicit conversion も implicit parameter も便利なわけですが、如何せんどこから降って沸いてきたのか分からない、ということが多いのが困り物です。 例えば Array[T] の先頭要素が欲しいときには、 scala> Array(1, 2, 3).head res0: …
なんとも情けない結果になりましたが参加はしました。仕様言語はシェルスクリプトです!!実際にはシミュレータを scala で、シェルスクリプトを生成するものを ruby で書きました結局 official には submit はしませんでした。unofficial なサーバーに、ひ…
gnu global がないと生きていけない体なので scala でも使えるようにしました。ヤッタネェ!https://github.com/lyricallogical/global_scala_support手抜き実装なので、宣言と定義の区別がつかず、宣言も全て定義扱いになってしまいますが、勘弁してくださ…
例えば、メッセージ毎に AlertDialog を生成するのは無駄なので、prepare で適宜メッセージを差し替える、というようなコードを書くことがあると思います。 private Dialog createAlertDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(th…
ちょっと準備不足感は否めなかったかな的な、でも楽しかったです。途中少し出てきた話のまとめ。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 クラスを使いましょう。そんなに難しいクラスではなくて、基本的には、 @Override public void run() { Looper.prepare(); Looper.loop(); } みたいなも…
例えば tests/ 以下のテストケース群があまりにも乱雑としているので、ディレクトリ分けたりして整理しよう、とかするわけです。 こういうとき svn だと一々 svn move しないといけなくてストレスフルなわけですが、git なら普通に mv とかで整理したあとで…
http://partake.in/events/01c8d348-ebcb-4151-9183-d63fd8a2db50主催しました。おつかれさまでした!
はまってしまいました。端末情報は↓ ファームウェアバージョン 2.1-update1 ベースバンドバージョン 1.00 カーネルバージョン 2.6.29-perf build@Sharp #1 ビルド番号 01.00.03 基本的には問題ないようなのですが、ID が 0 の(つまり一番最初にタッチされた…
http://twitter.com/#!/kmizu/status/64556087201906688http://twitter.com/#!/kmizu/status/64556399484612609とりあえず調べてみました。
鼻が詰まって目が覚めてしまいました。時間あるので、朝から意識高くブログで釣り記事を書いていきます。オブジェクト指向結構好きだという話です。アクセスコントロール。カプセル化という言葉は何かイマイチ響きがよくないと思うので勝手に言い換えます。 …
scala はあまり知らないんですが、ちらと遊んでみました。
比較的どうでもいい系の情報ですが Web で日本語になってないぽいので、一応書いておきます。android のテストを記述する際に、テスト用データをどうやって用意すべきか、というのがあるわけですが、単純にテストプロジェクトでも assets ディレクトリに配置…
http://partake.in/events/feac18f7-0b78-4129-92c5-ad0cce8feafb参加者数に余裕ありそうだったので、飛び入りで参加しました。D とか最早何も知りませんけども… 忘れないうちに、覚えていることを書き残しておきます。
皆さん GC のない Objective-C でガシガシメモリ管理してますか?ボクはしてますよ〜♪まあ近頃は Objective-C == iPhone アプリみたいな感じですから、している皆さんも多いのではないでしょうか。さて retain です。Cocoa フレームワークの NSObject クラス…
早春といったら Objective-C の季節ではないでしょうか?いえ、そんなことは別になくて、仕事で Objective-C 使うことになったので、仕方なく調べてみようという話です。そんなわけで Objective-C を知ろうのコーナー、始まります。ubuntu で試しているので…
間違えて保存してしまったんですが、続き物ということにしてしまいます。
もうちょっと続くんじゃ。http://shinh.skr.jp/m/?date=20110226#p03 基本カスタムデリータとか使った時点で負けてる感が強いというか…全く正しいです…設計まともなら、カスタムデリータとかまあ普通出番ないですね。これは重ファク*1です。 あと shared_ptr…
スレッド、というかスレッドのスタックや TLS っていうのは、通常所有することのできない、レアなオモシロリソースなんですよね。物理デバイスに紐づいたリソースとかもそうですけど。http://twitter.com/#!/Cryolite/status/41392398366015488 作成したスレ…
無闇にでかいというだけであまり好きでなくなってきた Boost ですが(というか、「Boost が」好きだったことがあっただろうか?)、勉強会がありました。それで発表したらしいです。適当ですがプレゼンおいときます。https://docs.google.com/present/edit?i…