No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 1236 | 1237 | 1238 |...| 1292 | 1293 | 1294 || Next»

Tor を使ってみる

別に Proxy の需要があるわけではないが,P2P を Proxy に使う発想が面白いので試してみた.とりあえず公式ページからダウンロードしてインストール.Proxy のスイッチが面倒なので FireFox に SwitchProxy日本語版) を入れる.Tor は socks でHTTP以外にも使えるので localhost:9050 を socks の proxy に設定.動作中の DOS窓をどうにかしてほしい(タスクトレイにするとか)と思いつつ,気にせず確認くんで試す.確かに proxy が刺さっていることを確認.でも結構遅いな... 使いどころ微妙.

ディスプレイ逝く

やっと晴れたのでディスプレイ梱包のための段ボール箱を購入.微妙にでかいためチャリで運搬中に風圧で飛んでいきそうになったりもしたり.兎にも角にも,これにてリサイクル準備完了.あとは郵便局に集荷を頼んで終わり.ただまあ,集荷がもう少し早く来てくれるとうれしいかなぁとも思わないことはなかった.頼んだのが昼で,ついでに担当者が居らんかったのが悪かったのかもしれんけど... 何はともあれ,ディスプレイよさようなら.狭い部屋が少しは広くなった.

縁石でこける

今日は午前に輪読があったので傘をさしつつ雨の中を徒歩で研究室へ急いだ.傘をさしてると歩道ですれ違うのが面倒なので歩道と車道を交互に歩く.最後に車道から歩道へもどるとき,テーパーのついた塗料の塗られている縁石を右足で踏んだ.んで,踏み込んだ右足が左に滑ってこけた.きれいな足払い.受身をとっても右半身はびしょぬれ. まあ,こけても笑い話のネタになるからいいけど追い討ちのように研究室に人がいないのはどうかと... 人が来るころには乾いてこけた証拠もなくなるので面白くない.コケ損.

分割配送って...

アマゾンで複数の本を注文しておいたら勝手に分割配送にされていた... 複数回受け取るのが面倒だからいっぺんに注文したというに.予約ものが入ってるとこうなってしまうのだろうか?

ラムダ式をS,K,Iへコンパイル

自由変数のないラムダ式を S, K, I のコンビネータで記述するためのプログラムを書いてみた.演習の課題で S,K,I 以外のコンビネータを S,K,I で書けという問題があるそうだけどそんなのはプログラムでやるものだし(Bなんか手でやる気がしない).んで,毎度のごとく Haskell でコンパクトに.

data LExp = Lambda (Int, LExp)
          | Apply  (LExp, LExp)
          | Var    Int
          | S
          | K
          | I
ctc (Lambda (x, exp)) = let exp' = ctc exp in (ctc' exp' x)
  where
  ctc' (Apply (exp1, exp2)) x = Apply (Apply (S, ctc' exp1 x), ctc' exp2 x)
  ctc' (Var y) x = if y == x then I else Apply (K, Var y)
  ctc' l x = Apply (K, l)
ctc (Apply (exp1, exp2)) = Apply (ctc exp1, ctc exp2)
ctc x = x

ラムダ式 LExp はλ抽象,適用,変数と,コンビネータ S, K, I で.コンパイル自体はλ抽象を内側からコンビネータに変換していくだけ.変換はアプリケーションに関しては S にして,変数に関しては束縛されるなら I, そうでないなら K.

折角なのでコンビネータからラムダ式への変換(alpha変換, beta簡約)も書いて知ってるコンビネータも全部書いてみた CompileToCombinators.hs .

関数ポインタの判別?

C++ のテンプレートでテンプレート引数に関数ポインタが指定されたときだけ挙動を変えたい.でもやり方が良くわからない... ポインタかどうかの判定法は知ってるが,関数ポインタか否かはどうすれば?

«Prev || 1 | 2 | 3 |...| 1236 | 1237 | 1238 |...| 1292 | 1293 | 1294 || Next»
Search
Feeds

Page Top