Как называется следующая парадигма программирования:
Код выполняется на основе набора логических тестов, разрешающих true (предложение). Предложение состоит из операторов и операндов. Каждый операнд - это значение / объект.
Вместо явной оценки предложения, как это делается в императивных языках (например, при обычном управлении потоком, таком как if(){}
), предложение объявляется и связывается с результирующим кодом. Когда предложение будет выполнено, в любой момент в будущем код будет выполнен.
Таким образом, это в основном дерево зависимостей, которое повторно оценивает, должен ли код выполняться всякий раз, когда зависимость меняет состояние.
E.g.,
when(a && b && c < 3 && d.changes())
{
runThisCode();
}
Я ищу более формальное название и определение, и после поиска ничего не придумал. Это что-то среднее между декларативным и императивным, но я никогда не встречал языка или парадигмы, которые позволяли бы это делать.
Спасибо, Шон