2012-06-01から1ヶ月間の記事一覧

Scheme の手続きを動的に #2

今日はふたつ賢くなった。ひとつはScheme の #() と '#() が違うものだということを前回のエントリのコメントで教えていただいた。いくつかの処理系で #() を評価させて試してみたところ、以下のようになった。 Ypsilon 0.9.6-update3 (R6RS) > #() error: i…

Scheme の手続きを動的に

やりたいことはすごい簡単なんだけど、やり方がわからない。 (define op #(+ - * /)) (define calc (lambda (kind lhs rhs) ((vector-ref op kind) lhs rhs))) (calc 0 1 2) 手続きをベクタとかリストに持っておいて、それを取り出して実行したい。Gauche だ…

VMware Player でアンダースコアが入力できない場合

ずばりの解決方法が載っていた。 VMware playerのゲストOSでアンダーバーを表示する方法 – サイクリングと仕事メモ Ubuntu 10.04 ホストに Windows XP ゲストだと問題なかったんだけど、Ubuntu 12.04 ホストに Windows XP ゲストだと、同じイメージなのに問…

中国語をマスターしたものの、なんでマスターできたかわからない

知らない単語が出て来ても心配いりません。お姉さんに一々聞かなくても知っている単語を手がかりに意味を調べたり、前後の文脈で理解出来るようになります。 自己記述言語 - 言語ゲーム 元のエントリとは全然関係ないんだけど、中国語を勉強して 3 ヶ月目ぐ…

msysgit のコンテキストメニューを削除

Git

以下ブログで情報をもらった。MsysGitのシェル拡張をアンインストールする - namutakaの日記以下は msysgit のコンテキストメニュー。アイコンのないのが msysgit、アイコンのあるのが TortoiseGit のそれぞれ Git 操作メニュー。ずらっと出ているのは許容で…

バッチファイルで Windows Vista/7 を見分ける方法

こんな感じ。 ver | find "Version 6" > nul if not errorlevel 1 ( echo "Windows 7" ) else ( echo "Windows XP" )ver で Windows のバージョン番号が出力されるので、もし Vista と 7 を区別したかったらマイナーバージョンも比較すれば OK。

Java の可変長引数を利用した HelloWorld

違和感がある Java 屋さんはお年寄りですよ(私のことです)。 public class Main { public static void main(String... args) { System.out.println("hello, world"); } }

Haskell の where 節の謎

Haskell の無限リストを勉強していて、標準関数の repeat :: a -> [a] がなんでこの定義で無限リストになるのかが全然理解できないのでメモしておこう。 repeat :: a -> [a] repeat x = xs where xs = x : xs 僕の感覚では、無限リストは再起呼び出しみたい…