Hatena::ブログ(Diary)

どらや記

本と音楽、そしてコンピュータ、ときどきボドゲの日記

2009-05-18

Ubuntuでskk.vimを使う

Edit - blog/2009-05-12-1.html

池嶋俊 Skype日記 - オープンソースの日本語入力ソフト「SKK」は便利!:ITpro


作業の快適さにひかれて、導入してみた。



作業を順番で書いていくと

  1. skk.vimを入れるディレクトリを作成する
  2. ここからskk.vimをダウンロード
  3. skk.vimをディレクトリに入れる
  4. .vimrcに設定を書き込む

はまりポイント

  • skk.vimのファイルの文字コードは、そのまま!!
    • そうしないと、入力した文字が化けてしまいます。
  • skk.vimを入れるディレクトリ(vimのカラースキーマなどを入れるディレクトリ)は「.vim」にすると吉。
    • そうしないと、私の環境では認識されませんでした。

f:id:dorayakitaro:20090518223100j:image


導入してみて

確かに、vimを使っていて、コマンドモードに遷移する時に、入力メソッドが消えるのは楽です。しかし、skk自体がくせがあり、馴るまでに時間がかかりそうです。今後は、辞書ファイルを色々導入して、余裕ができたら、skkサーバを導入してみたいと思っています。

SICP独習会〜データとは何か(問題2.4〜)〜


 ここでデータの定義にふれているのだが、いまいち言っていることが飲み込めないでいる。ここはしばらくしたら、もう一度読み直した方がよさそうである。


問題2.4

解答

(define (cdr z)
  (z (lambda (p q) q)))

以下が展開プロセス。


まず代入。

(cdr (cons 1 2))

次に展開。

((lambda (m) (m 1 2)) (lambda (p q) q))

一つ目のλ式に、二つ目のλ式を作用させる

((lambda (lambda (p q) q) (lambda (p q) q) 1 2)

で、作用させた結果、

((lambda (p q) q) 1 2)

「1、2」の引数をλ式に作用させる

(lambda (1 2) q)

で、終了。

2


問題2.5

問題の意味がよく分からないのでパス。


問題2.6

以下のように、定義。

(define zero (lambda (f) (lambda (x) x)))

(define (add-1 n)
  (lambda (f) (lambda (x) (f ((n f) x)))))

で、置き換えをしていったのだが…

(add-1 zero)

(add-1 (lambda (f) (lambda (x) x)))

((lambda (f) (lambda (x) (f ((n f) x)))) (lambda (f) (lambda (x) x)))

((lambda (x) ((lambda (f) (lambda (x) x) ((n (lambda (f) (lambda (x) x))) x)))))

((lambda (f) (lambda (x) (x)) f) x)

これ以上、よく分からなかった。


計算論 計算可能性とラムダ計算 (コンピュータサイエンス大学講座)

このチャーチ数、すごく興味深かった。計算可能な関数だけで、数値さえも定義できるなんて。図書館で、計算論 計算可能性とラムダ計算 (コンピュータサイエンス大学講座)を借りてたのでもう少し、ここを掘り込んでみたい。