プログラム

数字からひらがなへ

uochanがくだらないことをしているww反応して書いて見た.「"ろっ"ぴゃく」とか「"はっ"ぴゃく」とかの特殊な発音のところのスマートな書き方を模索してるみたいだけど,音便でルールがよくわからんのと大した組み合わせ数ではないので,1000までのお…

pageshow, pagehideイベント

pageshowとかpagehideイベントはfirefoxだけぽいですpageshowとloadのちがい、pagehideとunloadのちがいは、 bfcacheに乗るか乗らないか だそうです。つまり、pageshow, pagehideは、「戻る」で戻ったりした場合でも普通にブクマから開いた場合でもなんだろ…

unloadイベント

いまさらながらメモ あとMDC window.addEventListener('unload', function(){alert('bye')}, false);としておくと、タブを閉じるなり、リンクでどっかいくなりしたときに、「bye」ってでてくる簡単な試し方は新しくタブを開いてfirebugのconsoleで上記コード…

XPCOM【1】メモ

極私的メモ コンポーネント Mozillaの中で、何かをするためのコードを実装したもの ひとつのコンポーネントで複数のインタフェイスを実装することもある @mozilla.org/file/local;1 こういうのがコンポーネント 呼び出すときは var File = Components.classe…

firebugが動かなくなった件について

どうも Firebug 1.0.5 Firefox 2.0.0.12 Windows XP Pro SP2 この組み合わせだとインライン要素のstyleを調べられなくなっている.で,firebugのgoogle groupを調べるとGoogle codeのほうにとばれされて, 結局 以前のバージョンへの戻しが必要だそうです.…

関数定義

ちょっとメモ・・というか、こんなのも知らなかったのが恥ずかしい・・・ perlの関数定義で最初に勉強したときは sub callee { my ($msg) = @_; print $msg; }こんなやつ。でも、これって別の関数に渡すときに sub caller { my ($data, $cbfunc) = @_; &$cbf…

手順

頭がこんがらがってきた・・・みんなみたいに賢くないから・・・ね 1.haskellソースを読み込む 2.テキストをトークンに分割する 3.構文解析(LALR)する 4.順に処理する0.シンボルのいくつかの機能だけ環境でマッピングしておくこのときの「いくつか」が…

a = 6 b = 7 main = print $ a * bこれが main::Expr [(String,Expr)] main = Let (Bind [("a",Lit 6) , ("b",Lit 7)]) (App (Var "print") (App (App (*) (Var "a")) (Var "b") ) )こうなればいいんだから、 var _ = window; /*処理定義*/ _['App'] = funct…

PLUS

と思って定義を確認したらPLUSができた. PLUS := λm n f x. m f (n f x) (function(m){ return function(n){ return function(f){ return function(x){ return m(f)(n(f)(x)); } } } })

まるち

あれ?? PLUSを頑張ってたんだけど,なぜか MULT := λm n f. m (n f) になっちゃいました・・・ (function(m){ return function(n){ return function(f){ return function(x){ return m(n(f))(x); } } } })なぜだか,掛け算になってしまいました・・・ (fun…

勉強 church数とか

チャーチ数 0: λ f x. x 1: λ f x. f x 2: λ f x. f (f x) 3: λ f x. f (f (f x)) ... 簡単にいうと,fを適用した回数で自然数を表現していると. 演算 SUCC := λn f x. f (n f x) チャーチ数を受け取って次を計算する(チャーチ数nを受けてチャーチ数n+1を返…

おまけ

上の方法だと,yukobaさんのコメントで貼られてたClean入門の「不要な評価をしない」であった,正格言語では処理が止まらない f a = f (a + 1) g a b = a Start = g (1 + 1) (f 1)に対しても var f = function(a){ return function(){ return f(a+1).force()…

遅延評価のココロ

遅延評価ってこれであってるの? 評価しないでいいかもしれない状況なら変数(=関数)は評価しない.評価しないといけない状況になったときのみ評価する. それは,パターンマッチ/returnを求められたとき. つまり,評価されるのは他の関数に渡さなければなら…

ぐらひ〜

かなり高性能なjavascriptでのグラフ表示ライブラリ「html5」。 ただ、要素1つのグラフをIEで表示すると円弧内がfillされない(たぶんpath生成がおかしい気がするけど未チェック)ことに対する、とりあえず現状回避的打開策in circle.js for(var i=0; i

多相

「何でもOK」な多相が「parameter polymorphism」 「一部OK」な多相(制約付多相)が「ad hoc polymorphism」で制約を付けるのが「(型)クラス」(type class) (≠型) ad hocの例 「sort」はリストをソートする。 例えば [2,1,3]とか ["abc", "ghi", "def"]とか。…

データ

haskellで新しい型を定義するときの方法 「data宣言」 data TConst TVar1 Tvar2 ... = DConst1 Type11 Type12...| DConst2 Type21 Type22... | ..「data」が宣言 「TConst」が「型コンストラクタ」 「Tvar」が「型変数」 「DConst」が「データコンストラクタ…

循環参照?

Haskellのlet文中の束縛参照って評価時間が違うんだけど,循環参照にならないの?(p188) f x y let x = y + 1 y = x * 2 in x * y追記: やっぱり起こるね main = print cyclic 3 4 cyclic :: Int -> Int -> Int cyclic x y = let z = x x = z in x * y * x…

遅延評価

とある事情で遅延評価を勉強中これって遅延評価? Haskell的には関数宣言自体がpromiseになってて,常時遅延評価され,変数の読み込み自体がforceになってる気がするんだけど...これってどちらかというとscheme的?(これもほんとはよく分かってない)一応…

del.icio.us移行

他のsbmからdel.icio.usへの移行をしようと思い,いまさらながらPlaggerをいじくろうと思い立ったのです. 昨日から延々インスコ作業をしているのですが,一向に成功しません. なんでや?cpanでいろいろとhogehogeしてるんだけどなぁ...ごちゃごちゃとう…

high performance Ajax

High Performance Ajax Applications@ajaxian 備忘録 (途中までです・・・)1)高性能のAjaxアプリケーション 2)Part 1 Developing for High Performance3)高性能への計画と設計 ・初日から性能のために計画しなさい ・デザイナとプロダクトマネージャと密接に…

del.icio.us on firefox

del.icio.us + firefoxが猛烈に便利すぎる.いまさらですが. 単独のSocial bookmarkとしてはgoogle bookmarksやnifty clipsがUI的に良いのでこれまでそちらを使っていましたが(hatena bookmarkはプライベート用),今後間違いなくdel.icio.usに乗り換えるこ…

Google Tag Cloud Maker

とりあえずリファクタリングが終わりました. 新機能を付けたかったんですが,友人に相談したところ 「このスクリプトはシンプルなのがよい」 といわれ,このままだそうかなぁと思っています.チョットだけ追加としては「version check」機能でもつけると思…

ひきつね3の2

about:configして吹いたwww「劇薬につき取り扱い注意!」ぶははははところで,ブックマークについたタグは何処に保存されてるんだろう

Google Tag Cloud Maker

Googleのパーソナライズが進んだためにデザインの崩れが見られています。 ちょっとした修正でもいいのですが、中身ももっときれいにして、新機能なんかもつけて出したいと思っています。 おまちください。Because Google improved a design of its top page,…

GetThreadTree()について

in 「Mozilla Thunderbird/chrome/content/messenger/ThreadPane.js」 function GetThreadTree() { if (gThreadTree) return gThreadTree; gThreadTree = document.getElementById('threadTree'); return gThreadTree; }らしい.んでもって,threadPaneは[me…

鍵を使ってのssh通信とか

やりたいこと ローカルからcronを使ってリモートにscpでファイルを特定のサバに送る ローカルcronを使って定期的にリモートでなんか処理させる 解決方法 (1)ローカルで鍵を作る ssh-keygen -t [rsa/dsa/rsa1] -N "<passphrase>" -f .ssh/<filename> tは鍵のタイプ Nはパスフレーズ(</filename></passphrase>…

なぜからいちょう

個人的メモ Components.classes["@mozilla.org/messenger/account-manager;1"] .getService(Components.interfaces.nsIMsgAccountManager); で登録しているアカウント情報を取得できる. var accountManager = Components.classes["@mozilla.org/messenger/a…

thunderbirdで幸せタグ管理

いまさら間が相当漂うのですが,自分用のメモも兼ねて・・・メールって複数のプロジェクトをまたがっていたり,複数の部署をまたがっていたりすると,どういうフォルダに入れようか悩みますよね? それを解決するのが,フォルダ管理ではなく,タグ管理です.最…

important

IEでは!importantが効かないんだそうです http://d.hatena.ne.jp/vwxyz/20060320/1142853017

OpenSocial

実験したいので誰かorkutに招待してください.