Какой должен быть конфиг?

May 17, 2011 19:25

lionet считает тут и тут, что конфиг должен задаваться на декларативном, не тьюринг-полном зяыке ( Read more... )

Leave a comment

nivanych May 25 2020, 07:33:00 UTC
Замечание только одно --
>> конфиг должен задаваться на декларативном, не тьюринг-полном зяыке.
> Как мне кажется, это слишком сильное ограничение для реальных задач.

Видимо, в посте имелось что-то типа, что функциональный тьюринг-худой язык декларативным не считается?

P.S. Обратил внимание на дату поста ;-)

Reply

_slw May 25 2020, 11:08:30 UTC
нет, идея в том, что проблема останова для конфига в принципе не должна стоять.

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

Reply

nivanych May 25 2020, 11:15:22 UTC
Это значит, что чем-то конфиг должен генерироваться.
И человеки сгенерированное читать не должны.

Reply

_slw May 25 2020, 11:26:44 UTC
бинарный конфиг + редактор конфигов?
по опыту это не удобно и от этого постарались уйти.

Reply

nivanych May 25 2020, 11:29:53 UTC
Да, неудобно бывает.
Ну не обязательно бинарный.
А просто огромный, например.
Типпаа правило для генерации занимает три строчки, а сгенерированное 300.

Но иначе с Тьюринг-полнотой же никак?
На каком-то этапе всё равно сможет повиснуть.
Соответственно, надо этот этап куда-то вынести.

Reply

_slw May 25 2020, 11:32:44 UTC
нет, почему же?
цикл по конечному множеству (типа foreach или от 1 до 300) точно завершается, к примеру.

а вот с рекурсиями уже все не так просто

Reply

nivanych May 25 2020, 11:39:06 UTC
Если точнее, то есть в соответствующих функциональных языках вывод типа рекурсии.
Он прикидывает, какая структурная рекурсия соответствует этому вот общерекурсивному выражению.
(ессно, что выводит не во всех случаях).

Структурная рекурсия, это более общая вещь, чем циклы.
И с ней имхо уже достаточно и Тьюринг-худого языка.

Так почти все языки с зависимыми типам работают.

Reply


Leave a comment

Up