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

ghc-mod を利用した neocomplcache のプラグイン neco-ghc (ghc_complete.vim) を書いた

せっかく Emacs とは独立して ghc-mod が書かれているので,これを Vim での補完にも利用したいなーと思って書いた. ghc-mod は hackage で公開されているため,cabal install ghc-mod でインストールできる. http://www.mew.org/~kazu/proj/ghc-mod/ http…

いつのまにか Cabal の syntax ファイルができてた

http://code.google.com/p/vim/source/browse/runtime/syntax/cabal.vim?r=b9e314fe473fadd54b861a3836ad96c9ca26bce3 しかしちょっと cabalStatement が適当すぎる… 先に license にマッチしてしまうので license-file が絶対にマッチしなかったり,license…

Cabal でテストを走らせる

今のところ標準的な方法はないけど,@shelarcy さんによると GSoC のプロジェクトで Cabal の test 機能を改善している最中だそうです. http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/haskell/t127230760295 http://cabaltest.blo…

let-polymorphism と value restriction

について,現時点での自分の理解をまとめておく. ML 系言語での話. let-polymorphism とは let によって束縛されたものが多相的に振舞えるためのもの. let twice = fun f x -> f (f x) let a = twice (fun x -> x + 1) 0 let b = twice not true このよう…

0530 Pyon-Pyon River Crossing (ぴょんぴょん川渡り)

AOJ

http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0530 足場の位置とすべりやすさが与えられ,向こう岸に辿りつくルートのうち危険度の合計が最小になるときの値を求める問題. 最初はグラフとみて Dijkstra 法で解いて 00:19 sec,2988…

0530 Darts (ダーツ)

AOJ

http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0529 N 個の得点が与えられ,この中から4つまで選んでその合計を最大値を求める問題. ただし,合計が M を超えてしまった場合は 0 点になってしまう. 最初 DP でいけるかと思ったけど…

0528 Common Sub-String (共通部分文字列)

AOJ

http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0528 ある2つの文字列が与えられて,それの最長共通部分文字列の長さを答える問題. 空文字列は任意の文字列の共通部分文字列とし,空文字列の長さは 0 とする. 最初は最長共通部分文…

0527 Seting Go Stones (碁石ならべ)

AOJ

http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0527 規則に従って白黒の碁石を並べていったときに,最終的に白が何個あるかとう問題. 言われた通りにシミュレーションすると最悪 O(n^2) になって n 連続する同じ色の碁石の数のリス…

2153 Mirror Cave

AOJ

http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=2153 BFS するだけ. # だけじゃなくて部屋の端も # と同様に壁と見なされることに注意 (これで WA 出してしまった). なんか statistics 見ると自分だけメモリ使用量が少ないんだけど…

1168 Off Balance (Problem D: ぐらぐら)

http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=1168&lang=jp 本番中に解けなかった問題. 入力がひどい(と思う)ので一旦それぞれのピースにユニークな id を割り振ってから解いた. check の型が若干アレだが,start の地点にあるピ…

ファイルから data URL を生成

そういう関数が用意されていてもよさそうな気もするけど. MIMEService で MIME type を得ているけど,どうやら拡張子から判断してるだけっぽい. function toDataURL(file) { // assert(file instanceof Ci.nsIFile) let type = 'plain/text'; try { type =…

Quiz

なんか見かけたので考えてみた. http://blog.hackers-cafe.net/2010/06/haskell-quiz.html 想定解っぽいもの (+), (!!), (==), sum, print に関しては didn't define と明言されているのに ($) はされてないからまぁこれを自分で定義しろということなんだろ…

ICPC 国内予選

id:osa_k くんと出てました.ABC の3問を解いて全体で27位,学内5位で敗退. A 最初に書いたのは少しミスがあったけど,すぐに気付けて問題無く解けた. B osa_k くんに任せた. C うまい解法が思いつかなくて,でもまぁとりあえず愚直にぐるぐる回しても答…