2011-03-28 7 views
4

以下のプログラミングパラダイムの名前は何であるのためのより良い用語もあります。私は副作用のプログラミング、それを呼び出すようにしたいが、お奨めは、この

コードがtrueに解決する論理テスト(のセットに基づいて実行されますその節)。この節は演算子とオペランドで構成されています。各オペランドは値/オブジェクトです。

命令型言語(例えば、if(){}のような通常のフロー制御)で行われるように、節を明示的に評価する代わりに、節が宣言され、結果コードにバインドされます。節が満たされると、将来の任意の時点でコードが実行されます。

したがって、基本的には、依存関係が状態を変更するたびにコードを実行するかどうかを再評価する依存関係ツリーです。

例えば、

when(a && b && c < 3 && d.changes()) 
{ 
    runThisCode(); 
} 

私はより多くの正式名称と定義を探しています、と私はそれを探した後、何が出ていません。宣言的なものから命令的なものの間のどこかにありますが、これを行うための言語やパラダイムは見たことがありません。

おかげで、 ショーン

+0

あなたは[アスペクト指向プログラミング](http://en.wikipedia.org/wiki/Aspect-oriented_programming)を考えていますか? – sarnold

答えて

2

は、多分それはdataflow programmingありますか?またはreactive programming

+0

Reactive ProgrammingのWikipediaの記事を元にして、私はそれに続いて尋ねているような気がします。知識ベースから推論されるものはありません。これは、式の変更で参照されたセルがExcelで自動的に更新される、与えられたセルの例と非常に簡単です。 – Sean

2

私にはRule engineのような感じです。例えば。 Jessでは、このような宣言規則を定義して、命令型またはオブジェクト指向のJavaコードを呼び出すことができます。

+0

私はあなたが正しいと思っています。私はそれを "ルールベースのプログラミング"と呼んでいました。そして私が以前に行ったシステムは、[CLIPS](http://en.wikipedia.org/wiki/CLIPS)です。明らかにジェスの祖先である。おそらく1つは[Prolog](http://en.wikipedia.org/wiki/Prolog)で同様のことをすることができる、私はそれを完全に探検したことはない。 – bart

関連する問題