TT6に参加してきました。その他参加者の皆様、どうもありがとうございました。内容についてはきっとどなたかがナイスな感じでまとめてくださるはずなので、帰宅して書いてみたネタを晒そうと思います。自分の中で要約すると、「おいコンパイラ、そのくらいのタイポでエラーをだすな。俺がやりたいことくらいわかるだろ?」という感じになりましたが、そのあたりに関連して、「Lispのネストした閉じ括弧をたくさん書くのが面倒、わかりにくい」というようなつぶやきが聞こえてきたので、なんとかしてみようと頑張ってみました。現れた時点で終端だと判断されます。J))))最大の問題は、エディタのインデント支援の恩恵を受けられなくなるというところ。Lambda(LOL)のalambda,aletあたりを読んで間接参照を定義する単純な方法を考えてみました。CommonLisp2010年11月25日木曜日#`..`で外部コマンドの出力を取得するPerlのバッククオートをパクってみました。kmrclのcommand-outputを使いめんどくさいところを丸投げします。URLを指定してプロジェクトをインストールすることができなくなりました。CL+SSLを利用してhttpsでも動かせるようなコードを書いてみました。パッケージ名が文字列かつ"https://"から始まっている場合の動きを若干追加しています。CommonLisp2010年11月18日木曜日テストツールその2関数を簡単にテストするなら、このくらい単純で良いような気もしました。Lispで図形を描くための27の方法ありがちなタイトルの付け方ですね。Lispで図形を描くために取り得る手段を列挙してみました。一部現在は使えないか、使うために努力が必要なものがあるかもしれません。ネタ2010年11月8日月曜日ユニットテストツールのようななにか動的言語を使う人達は、簡単なユニットテストくらいなら言語自体の機能をつかってぱぱっと書いてしまうのではないかと想像しています。私は趣味で適当なプログラムを書いているだけでろくにテストをしませんが、カバレッジのとりかたもわかったことなのでテストツールを書いてみました。前のエントリでは、SBCLでのカバレッジの結果の出力先はファイルパスと書きましたが、どうもSBCLでもディレクトリのパスっぽいです。してファイルを指定すると思い込んでいたのでしょう。Testメソッドがクラスに属しているかのような錯覚をおこす為のマクロタイトルどおりのものを作ろうとしてみましたが案の定ぐだぐだに。指定することで同じクラスのオブジェクトで共有されますが、共有されるだけで実際にインスタンスを生成しなければアクセスすることができません(たぶん)。クラス変数をメタクラスのインスタンス変数とすることで他のオブジェクト指向言語に近付こうとしてみました。ソースコードはgistに置きました。<FOO>>もっと頑張ってみても面白いかもしれない。Lisp(以下CCL)にはファイルのカバレッジを取り、HTMLで出力してくれる機能があるようです。ccl:*compile-code-coverage*をTにしてからカバレッジを取りたいファイルをコンパイル->ロードして、テストの実行とカバレッジの集計結果出力を行います。SBCLでは、SB-COVERパッケージを読み込んでから、ファイルのコンパイル、ロード、テスト実行、結果の出力を行います。結果の出力時に指定するパスは、CCLではファイル名ですが、SBCLではディレクトリ名のようです。Lispパッケージの内容を上書きするのはよろしく無いのではと思い、適当な名前でタイトル通りのものを書いてみました。