インテンショナルプログラミング
インテンショナルプログラミングの鍵となる利点(同時に広く普及しない障害でもある)は、ソースコードが単なるテキストファイルではなく、独自のメタな構造を持っている点であり、XML にも似ている。XML と同様、コードの各部に特別な構文解析は不要であり、それらが集まってプログラムが形成される。これにより、記述やツールの修正が容易になる。
エディタとソースコード構造が密接に関連することで、ソースコードへの一種の関係の正規化がなされる。同一性のコンセプトによって、定義や変数名、演算子といったものは常に1つだけ存在するよう格納され、冗長性を排除している。このため、宣言と参照は本質的に区別され、見た目にも明らかになるよう表示される。空白もソースコード内には格納されない。字下げも表示の際に個々のプログラマが設定したとおりに表示される。より進んだ視覚化として、各文を入れ子になった箱のように表示でき、例えばif文を論理回路のように編集したり、名前を他の言語で表示したりといったことが可能である。
ある意味で、C++やJavaのような一般的な言語に XML Schema 的な標準化を行ったようなもので、この環境のユーザーは Eiffel や他の言語のアイデアを組み合わせて利用できる。ドメイン固有言語などの言語指向プログラミングやアスペクト指向プログラミングと同じ文脈で語られることが多い。インテンショナルプログラミングは生成的プログラミングに一種のブレークスルーをもたらすことを意図している。これらの技法により、開発者は言語環境を拡張して領域固有の構成要素を把握でき、その際に新たな言語のためのコンパイラやエディタを一から作る必要がない。