インテンショナルプログラミング
シモニーの構想によれば、インテンショナルプログラミングのパラダイムを使ったアプリケーションの開発は次のように進められる。プログラマはまず、問題の対象領域(例えば生命保険など)に特化したツールボックスを構築する。次にその領域の専門家がプログラマに協力して、WYSIWYG的手法でアプリケーションがどう動作すべきかを記述する。最後にそのプログラムに関する記述とツールボックスを使って自動化システムが最終的なプログラムを生成する。その後の変更は WYSIWYG レベルでのみ行われ、「ドメイン・ワークベンチ」と呼ばれるシステムを利用する。
インテンショナルプログラミングの中核的概念として同一性がある。多くのプログラミング言語ではソースコードは平坦なテキストであり、オブジェクトは名前で定義/参照され、その同一性はコンパイラが推測するしかない。例えば、ある名前が変数としても、プロシージャ名としても、さらにはデータ型名としても使われることもある。大きなプログラムでは、あるシンボルが実際にはどのオブジェクトを指しているのかを把握するのが非常に困難になる。何かの名前を変更したとき、それに対応してどこを修正しなければならないかは、注意深く調査しなければならない。
対照的に、インテンショナルプログラミングでは、全ての定義には名前が付けられるだけでなく、ユニークな識別子とオブジェクトの対応付けがなされる。従って、変数やプロシージャを参照したとき、名前だけでなくオリジナルの実体に付与された識別子ともリンクされる。
このため、ある実体の名前を変更すると、プログラム内の全ての参照が自動的に更新される。