Lispの方言のひとつであるClojureは『実践プログラミングDSL』でいうところの「コンパイル時メタプログラミング」に優れている、ということでLispマクロを活用したごく簡単な DSL(domain-specific language) を実装してみた。 基礎となるデータ構造を定義 ここでは、キャラクター(しかもschool idol限定)のプロフィールデータを管理したいという想定で Profile レコードを定義してみる。 ;; データ構造(レコード)定義 (defrecord Profile [name birthday bloodtype height favorites unfavorites cv school grade group unit]) ちなみに、Profileレコードのフィールド cv は我々の業界ではもちろん conversion(コンバージョン ※インターネ
Python で Rake を真似るとしたら という反応を頂いたので、それにまつわるお話を。 まず、CodeReposにコミットしてあるtasktoolsは distutils及びsetuptoolsを拡張する ということを念頭に置いています。ですのである程度distutils.core.Commandの思想というか、インターフェイスを残しています。 タスクをクラスで定義すること オプションの定義方法 sub_commands や finalize_options といったメソッド などなどは元のまんまです。 じゃあ、 distutils や setuptools を抜いて好きにRakeをPythonで真似るとしたら、というのが今回メインのお話。最初にこんな感じでコマンドを定義しますよ、というのを出してしまいます。 1from __future__ import with_statemen
こんにちは。 つくるぶガイドブログ Perl担当の西山です。 Perlカテゴリーのエントリーでは、CPAN(世界中のPerlプログラマーが作成しているライブラリを集約したアーカイブ)に登録されているモジュールの中から、便利だったりコードが格好良かったり、Perlならではの魅力を持っているようなモジュールを取り上げていこうと思っています。 よろしくお願いします! Test::WWW::Declareモジュールについて というわけで、一発目は Test::WWW::Declare モジュールをご紹介します。 今年の春のYAPC::AsiaでJesse Vincent氏が 「Abusing Domain Specific Languages for Fun and Profit」 というセッションで発表していたり、最近では 宮川達彦さんのWeb::Scraperのスライド に "integ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く