InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example
The personal website of Piers Cawley (they/him) — Folk singer, photographer, carer and occasional programmer. Martin Fowler is writing a book about Domain Specific Languages and, because you could never accuse Martin of a lack of ambition, he’s trying to write it in a reasonably (implementation) language agnostic fashion. It’s fairly easy to write an implementation language agnostic book about old
http://martinfowler.com/articles/languageWorkbench.html http://capsctrl.que.jp/kdmsnr/wiki/bliki/?LanguageWorkbench アランさんのお勧め記事。普通プログラムの開発と言うと、一つ決まったソースコードを編集する事です。そうじゃ無くて、プログラムを意味する抽象的なオブジェクトがあって、ソースコードは抽象的なプログラムを映し出した物に過ぎないという話。という事で、DSL (設定ファイルみたいな物)も、今みたいなプログラム本体と切り離されて読み込まれるんじゃなくて、DSL も抽象プログラムを映し出す表現の一つと考えれば良いのじゃないかという話です。 DSL の話が長いけど、そんな物知っとる!という人は半分の Today's Language Workbenches から下半分だけ読めば良
Russ Olsen has been putting together a small series of blog posts about building a DSL in Ruby. The first part dates from October 2006, but the second part has just been released, making it a good double length read. In the mini-series, Russ looks at the motivation for developing a DSL and develops a basic DSL called Potemkin. Comments Ron Evans says: January 14, 2007 at 8:17 pm I also really like
最上の日々 06年12月 24日(日) ▼ DSL(ドメイン特化言語)というのは拡張され続けた結果として、かならず汎用言語になってしまうものだ。けど、最初から計画されていた訳ではないから、汎用言語にとって大事な首尾一貫性にはこういう調子で欠けることに必ずなってしまう。これをさけるためにはどうしたら良いだろうか。 すでに出来てしまった物は仕方ないけど、これからDSLを作ろうと言う人は、新たにDSLを作るのはやめて汎用言語のサブセットにする方が良いと思う。そうして将来の拡張に備えるという方法論をとったら良いと思う。 DSLは汎用言語よりもドメイン内では簡潔に書ける言うけど、大抵それは、ドメインに特化したデータ構造とライブラリのおかげでだと思う。文法などが寄与している場合は困るけど、私の感じではそれほど多くは無いと思う。(ユーザが新しい型を定義できて演算子などをオーバーロードできる汎用言語で無く
Broadly speaking, there are two ways to create a DSL. One is to invent a syntax from scratch, and build an interpreter or compiler. The other is to tailor an existing general-purpose language by adding or changing methods, operators, and default actions. This article explores using the latter method to build a DSL on top of Ruby. A DSL, or domain specific language, is a (usually small) programming
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く