Я хочу назвать это программированием побочных эффектов, но для этого должен быть лучший термин - PullRequest
4 голосов
/ 28 марта 2011

Как называется следующая парадигма программирования:

Код выполняется на основе набора логических тестов, принимающих значение true (пункт).Предложение состоит из операторов и операндов.Каждый операнд является значением / объектом.

Вместо явной оценки предложения, как это делается в императивных языках (например, обычное управление потоком, например if(){}), предложение объявляется и привязывается к результирующему коду.Когда предложение выполнено, в любой момент в будущем код будет выполнен.

Итак, это в основном дерево зависимостей, которое повторно оценивает, должен ли код выполняться всякий раз, когда зависимость меняет состояние.

Например,

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

Я ищуболее формальное имя и определение, и я ничего не нашел после его поиска.Это где-то между декларативным и императивным, но я никогда не видел ни одного языка или парадигмы, позволяющих это сделать.

Спасибо, Шон

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Звучит как Правило двигателя для меня. Например. в Jess вы можете определять такие декларативные правила и вызывать императивный или объектно-ориентированный Java-код.

2 голосов
/ 28 марта 2011
...