javascript

再帰的な構造のデータの同値性判定はどうしたらいいか

数日前にTwitterで, JavaScriptのオブジェクトに対する===の挙動が初心者には難しいみたいな話を見かけた. 発端や周辺の議論をちゃんと追いかけてないからとくに出典は貼らない. たぶん元々の話は「へぇ, こういう挙動なんだ, 簡単ではないね」くらいの話だ…

なぜ型ファーストで考えるのか

よく型なし vs. 型付の文脈では「型を書くのは面倒だ」「安全の方が大事だ」「でも面倒だ」「それは型推論を前提にしていないからだ」などの議論になりがちな気がしますが、これはあくまで「計算ありきの型」を考えているからで, 「型ありきの計算」だと全く…

はてなグループ日記でプレゼンモード

はてなグループのキーワードで使えるプレゼンモードはちょっとしたスライドを作るときにとてもべんり. でも, はてなグループを無料で使っているとキーワードはパブリックになってしまうので, あんまり馬鹿なスライドを作って公開してしまうわけにもいかない.…

JavaScriptで読む「ラムダ計算基礎文法最速マスター」

以前書いた「ラムダ計算基礎文法最速マスター」(以下「最速マスター」)は, 予想以上に多くの人に興味を持ってもらえたようですが, 同時に難しくてわからなかったという人も多かったようです. 反響から察するに, 構文を見慣れていない(と錯覚してしまう)こと…

imageLoaderをVimperatorから使う+α

d:id:tomo_snowbug:20090619:1245430454 のimageLoaderというGreasemonkeyスクリプトがなかなか素晴しいので, Vimperatorから使えるようにするついでに機能拡張してみた.

Google日本語入力がやっているデータ収集方法まとめ

Web上の膨大な情報を使ってかな漢字変換を行なうGoogle日本語入力(のベータ版)がリリースされた. Web上の膨大な情報を機械的に取り扱うのはGoogleのお家芸だけれど, それだけでは変換された後の文字列しか用意できない. どうやって変換前の文字列を集めるの…

location.hrefの挙動

Firefox 3.5.5で, location.hrefに値を代入したときの挙動が, 普通に実行した場合と動的に読み込まれたjsファイルで実行した場合で違う模様. 普通に実行した場合 location.hrefに代入したURIに移動する 移動前のページがhistoryに残る 動的に読み込まれたjs…