ErrorをフックするWeb系がさっぱりわからないので、勉強がてらなにか書いてみようと思いました。Errorとしてブラウザに表示させるようにしてみます。未定義の関数を呼び出す。S-Expression)でFizzBuzzってみます。Gauche2012年7月5日木曜日[CommonLisp]MOPを使って型指定子によりメソッドを特定するWikipedia日本語版の「列挙型」の項目に、CommonLispの型指定子はメソッドの引数特定には使えませんよ、と書いてあったので、無理やり実現する方法を考えてみました。マクロを使うと負けな気がするので、MOPを利用してみます。t)))以下のようにして使います。最初に見つかったものを呼び出しているだけなので、<type-spec-meta>のインスタンス間での優先度は扱っていません。CommonLisp[graphviz]consセルを描くgraphviz(DOT言語)についてのメモ。いう内容のコンスセルを描画してみます。record型にするとlabelをバー(|)で区分けできる。{}で囲うと並べる向きを変えられる。先頭を<xxx>とすると要素への接続ポート名を定義できる。エッジの指す先が要素の位置になる。}ファイル"cell.dot"に保存して、以下のコマンドで画像ファイルを作成できます。cell.png作成される画像は以下。graphviz2012年7月4日水曜日[Racket]スタンドアローンな実行ファイルを作成するRacketで作成したプログラムをパッケージ化したり実行ファイルにしたりするには、Racketのインストール時についてくるracoというツールを使います。画面に"はろーわーるど"と表示するだけのGUIプログラムを書いてみます。guitest.rktと入力すれば実行できます。このソースコードを実行ファイルにする場合は、racoコマンドを実行します。exeコマンドの実行結果として、"guitest.exe"という実行ファイルが作成されます。(Windowsの場合)さらに、実行ファイルを他のマシンでも実行できるようにするために再度racoコマンドを実行します。distributeコマンドの実行結果として、"dirname"ディレクトリが作成され、ディレクトリ以下には"guitest.exe"と必要なライブラリ類がまとめられます。これで、"dirname"ディレクトリの内容を他のマシンにコピーして実行可能となります。