Re[40]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.10.12 10:54
Оценка:
Здравствуйте, samius, Вы писали:

I>>В ваших школах ничуть не лучше.

S>Разве что в школах для альтернативно одаренных, вы походу из них специалистов набираете...

Из последнего — Академия ФСБ России факультет "Информационная безопасность"

"альтернативно одаренных" говоришь ? Ну-ну
Re[41]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.10.12 10:59
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, samius, Вы писали:


I>>>В ваших школах ничуть не лучше.

S>>Разве что в школах для альтернативно одаренных, вы походу из них специалистов набираете...

I>Из последнего — Академия ФСБ России факультет "Информационная безопасность"


I>"альтернативно одаренных" говоришь ? Ну-ну

Туда как раз таких и берут
Re[40]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.10.12 10:59
Оценка:
Здравствуйте, samius, Вы писали:

I>>Все космонавты что ли ?

S>Не все, но побольше чем у вас.

Да, заметно
Re[41]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.10.12 11:01
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, samius, Вы писали:


I>>>Все космонавты что ли ?

S>>Не все, но побольше чем у вас.

I>Да, заметно

I>
Заметно что у тебя с юмором проблемы
Re[42]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.10.12 11:03
Оценка:
Здравствуйте, samius, Вы писали:

I>>Да, заметно

I>>
S>Заметно что у тебя с юмором проблемы

Валяй, разрешаю обсуждать мою личность в течении десяти постов
Re[43]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.10.12 11:08
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, samius, Вы писали:

I>Валяй, разрешаю обсуждать мою личность в течении десяти постов
Много чести, да и разрешение мне твое не нужно.
Re[42]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.10.12 11:58
Оценка:
Здравствуйте, samius, Вы писали:

I>>Из последнего — Академия ФСБ России факультет "Информационная безопасность"


I>>"альтернативно одаренных" говоришь ? Ну-ну

S>Туда как раз таких и берут

Итого, когда я говорю о вузе скажем на примере этой академии(есть и другие), тебе не нравится и ты резко не согласен, при этом сам ты считаешь такой вуз навроде ПТУ
Вобщем, я думаю тебе стоит поискать аргументы кроме псевдопатриотизма и перехода на личности
Re[33]: Императивное программирование
От: artelk  
Дата: 16.10.12 14:44
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Осталось убедительно показать, что происходящее в процессе эмуляции прямо по исходнику ФП-программы хоть чем-то отличается от твоего "понимания" ФП. программист-то в процессе написания рпограммы как-то трекает в голове, как она должна работать, не?

Систему математических уравнений ведь можно понять без знания о точном порядке в каком она будет вычисляться.
Вот программа на ФП, по сути, и представляет из себя систему уравнений.

V>В чистых Agda2-программах, которые пишут исключительно как proof-assistance, никакой код не выполняется. То бишь, рассуждать о том, что выполнится раньше — нелепо. Там целью является успешная компиляция. А если запускают на выполнение, то ничем от Хаскеля происходящее не отличается: http://progopedia.com/implementation/agda-2/

Программа является написанной на чистом функциональном языке до тех пор пока ее не запускают?? Оригинально.
Re[43]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.10.12 14:51
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, samius, Вы писали:


I>>>Из последнего — Академия ФСБ России факультет "Информационная безопасность"


I>>>"альтернативно одаренных" говоришь ? Ну-ну

S>>Туда как раз таких и берут

I>Итого, когда я говорю о вузе скажем на примере этой академии(есть и другие), тебе не нравится и ты резко не согласен, при этом сам ты считаешь такой вуз навроде ПТУ

С чем я не согласен? Я подтверждаю что там альтернативно одаренные люди. Ты бы еще высшую школу милиции привел...
У меня в ВУЗ-е была кафедра безопасников. Там учились
а) платники, не прошедшие по конкурсу на бюджетные места (совсем не прошедшие)
б) служивые без конкурса
в) вылетевшие с бюджетных мест, но имеющие деньги на обучение + проживание, т.к. общагу безопасникам не давали.
Самое громкое достижение студентов с этой кафедры на моей памяти — многометровая веревка с нанизанными одна к другой пробками от водки, привезенная с "картошки". Точнее, их вклад там был наиболее значим.
Оттуда не вышибали, потому все, кто имел деньги на обучение, закончили благополучно. Уж точно программирования в их программе не было больше чем у бюджетников, а уж "необязательность" посещения занятий и экзаменов расставила все по местам. И не только по программированию.
А что ты ожидаешь от академии ФСБ — для меня вообще загадка.

I>Вобщем, я думаю тебе стоит поискать аргументы кроме псевдопатриотизма и перехода на личности

Твое утверждение про 90%, вот и приводи аргументы. Только не надо про академию ФСБ. Они там вряд ли формулами пользуются. У них другие методы.
Да и выборка опять нерепрезентативна. У кого все не сильно хреново с математикой/физикой/химией и т.п. вряд ли туда пойдут сами.
А когда туда набирают извне, то там совершенно другие критерии отбора, чем тебе хотелось бы.
Я не говорю что там нет гениев. Есть, конечно. Но даже хорошисты по учебе вряд ли станут искать работу, т.к. будут пристроены куда надо. Вобщем, подозреваю что к тебе попал настолько альтернативно одареннейший из альтернативно одаренных, что его даже к своим не пристроили. А может это агент без прикрытия?
Re[35]: Императивное программирование
От: artelk  
Дата: 16.10.12 14:51
Оценка:
Здравствуйте, vdimas, Вы писали:

A>>Покажи реализацию оператора (+) для типа Int.

A>>Тип Int можно определить, например, так:
A>>
A>>  data Int = 0 | 1 | -1 | 2 | -2 | ...
A>>

A>>или на основе списка цифр.

V>Задавай вопросы прямо. Сложение — это бинарная (минимум) чистая ф-ия, абсолютно неважно в каком порядке будут вычислены ее аргументы.

Чистая функция? Отлично. А ее можно реализовать на чистом функциональном языке? Или может она должна быть априорно дана "свыше" вместе с постулированием ее чистоты?

V>Что именно ты хотел услышать?

Хотел увидеть реализацию.
Re[44]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.10.12 15:18
Оценка:
Здравствуйте, samius, Вы писали:

I>>Итого, когда я говорю о вузе скажем на примере этой академии(есть и другие), тебе не нравится и ты резко не согласен, при этом сам ты считаешь такой вуз навроде ПТУ

S>С чем я не согласен? Я подтверждаю что там альтернативно одаренные люди. Ты бы еще высшую школу милиции привел...

Ну то есть, тебе удобно считать ВУЗ как ПТУ, но при этом ты резко не согласен, что такой ВУЗ я считаю дохленьким.

S>А что ты ожидаешь от академии ФСБ — для меня вообще загадка.


Ничего не ожидаю. Думаешь эта академия сильно отличается от вузов навроде рязанского радиотехнического или оренбургский гусударственный университет ?
Это ж тоже ПТУ по твоей классификации. Люди которые попадали к нам оттуда еле еле учились, хотя там были чуть не отличники.
Собственно на собеседованиях я ничего нового не увидел

I>>Вобщем, я думаю тебе стоит поискать аргументы кроме псевдопатриотизма и перехода на личности

S>Твое утверждение про 90%, вот и приводи аргументы. Только не надо про академию ФСБ. Они там вряд ли формулами пользуются. У них другие методы.

"другие методы" А программируют они чисто ради хобби, ага

S>Да и выборка опять нерепрезентативна. У кого все не сильно хреново с математикой/физикой/химией и т.п. вряд ли туда пойдут сами.


Это не важно. Количество сильных вузов которые ты и называешь вузами (а все остальные — ПТУ, навроде академии ФСБ) вообще говоря мало. Выпускники этих вузов не могут покрыть спрос на специалистов, то есть, вообще никак.
Re[45]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.10.12 15:35
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, samius, Вы писали:


I>Ну то есть, тебе удобно считать ВУЗ как ПТУ, но при этом ты резко не согласен, что такой ВУЗ я считаю дохленьким.

я не понял что ты его считаешь дохленьким. Я думал что твой посыл в том, что аж из такого крутого ВУЗ-а, да такие дохлые спецы...

S>>А что ты ожидаешь от академии ФСБ — для меня вообще загадка.


I>Ничего не ожидаю. Думаешь эта академия сильно отличается от вузов навроде рязанского радиотехнического или оренбургский гусударственный университет ?

I>Это ж тоже ПТУ по твоей классификации. Люди которые попадали к нам оттуда еле еле учились, хотя там были чуть не отличники.
Да они там были отличниками потому что с них там ничего не спрашивали. А значит ПТУ по моей классификации.

I>Собственно на собеседованиях я ничего нового не увидел


I>"другие методы" А программируют они чисто ради хобби, ага

Их там чо, еще и программировать учили?

I>Это не важно. Количество сильных вузов которые ты и называешь вузами (а все остальные — ПТУ, навроде академии ФСБ) вообще говоря мало. Выпускники этих вузов не могут покрыть спрос на специалистов, то есть, вообще никак.

А что, выпускники должны что-то покрывать? Мне вообще говоря, это не очевидно. Руководителям ведущих ВУЗ-ов планеты — тоже. Если тебе нужна дешевая рабсила — это проблемы твои или твоей конторы. Нужна качественная сила — плати бабки и хорошо фильтруй. Никакого покрытия никто тебе не должен, пока ты не министр образования.
Re[35]: Императивное программирование
От: artelk  
Дата: 16.10.12 15:50
Оценка: +1
Здравствуйте, vdimas, Вы писали:

A>>Но результат не зависит от порядка вычисления аргументов, что дает нам основание утверждать, что операция ветвления не является "пошаговой по свой природе".

V>Ты решил зайти на второй круг? )))
Так мы из первого не выходили пока.

V>А как насчет вычислимости ложной ветки? Так и не понял примера с факториалом?

uint fact(uint arg) {
  if(x < 2)
    return 1;
  else
    return arg * fact(arg - 1);
}

Тут выражение в первой ветке можно вычислить до предиката, а можно и после.

V>Ну хорошо... а как насчет корня из отрицательного числа? А как насчет деления на 0? Ведь реакция вычислителя в процессе вычисления должна сильно разниться для правильной и ложной веток в твоей умозрительной системе.

"Значением" ветки будет (_|_). Если потом, после вычисления предиката, будет выбрана вторая ветка, значение всего выражения будет определяться ей.
Re[31]: Императивное программирование
От: artelk  
Дата: 16.10.12 16:16
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Что ты хотел показать, понятно и школьнику. Я лишь растягиваю удовольствие, жду пока ты поймешь.

Эх, тоже жду... Но начинаю склоняться к мысли, что не во мне причина, почему я не могу понять...
V>Просто твою "другую цель" даже обсуждать не имело смысла, ведь у тебя выражение (x>0) никак не может быть вычисленно позже последующей формулы. Я уже молчу о другом твоём капитальном залёте, который ни ты, ни плюсующие тебе уже 3-й пост не видите.
заинтриговал

V>Я-то понял и уже даже дал подсказки, а ты еще нет и даришь мне уже который пост подряд маленький заслуженный фан.

V>Не раскроешь, случаем, особенности своего мышления?... которые позволяют тебе пытаться рассуждать насчет твоего примера ф-ии abs(x), расписанном на if, об упорядоченности вычисления операндов? Так и не понял подсказку abs(x)? Операндов-то сколько, горемыка? Там же все три операнда ф-ии if (будь он на if сделано) — один и тот же x. Это залёт, курсант.
Очень интересно. Т.е. если в качестве предиката было бы (x>1), то второй пример потерял бы свою функциональную чистоту?
Re[36]: Императивное программирование
От: vdimas Россия  
Дата: 17.10.12 08:15
Оценка:
Здравствуйте, artelk, Вы писали:

V>>А как насчет вычислимости ложной ветки? Так и не понял примера с факториалом?

A>
A>uint fact(uint arg) {
A>  if(x < 2)
A>    return 1;
A>  else
A>    return arg * fact(arg - 1);
A>}
A>

A>Тут выражение в первой ветке можно вычислить до предиката, а можно и после.

В первой ветке константа, там нечего вычислять. Вторая гораздо интереснее.

V>>Ну хорошо... а как насчет корня из отрицательного числа? А как насчет деления на 0? Ведь реакция вычислителя в процессе вычисления должна сильно разниться для правильной и ложной веток в твоей умозрительной системе.

A>"Значением" ветки будет (_|_).

К сожалению, это унылый хак системы типов, нарушающий всякую чистоту ФП. При таком раскладе чистое ФП не существует, ты прав. )))

Кароч, возвращаемое значение ф-ии должно быть типизированным или никаким. То бишь либо ф-ия вычисляется, либо должна инициироваться исключительная ситуация. Либо необходимо вводить ограничение в язык, чтобы все ф-ии могли возвращать только такой тип:
data ResultOrError x = Result x | Error ErrorInfo


A>Если потом, после вычисления предиката, будет выбрана вторая ветка, значение всего выражения будет определяться ей.


ОК, даже если предыдущий механизм ResultOrError компилятор добавит сам, как часть некоего сценария "отложенной" генерации исключительных ситуаций, то бесконечное зацикливание на ложной ветке вычисления факториала не сразу-то и понятно как остановить. Тут только начни рассуждать в эту область и попробуй расширить на общий рекурсивный случай (а других и нет в ФП) и сразу станут видны все подводные камни. В общем, до тех пор, пока не избрели формальной методики для обсуждаемого, скорее прав я, чем вы.
Re[36]: Императивное программирование
От: vdimas Россия  
Дата: 17.10.12 08:29
Оценка:
Здравствуйте, artelk, Вы писали:

A>>>Покажи реализацию оператора (+) для типа Int.

A>>>Тип Int можно определить, например, так:
A>>>
A>>>  data Int = 0 | 1 | -1 | 2 | -2 | ...
A>>>

A>>>или на основе списка цифр.

V>>Задавай вопросы прямо. Сложение — это бинарная (минимум) чистая ф-ия, абсолютно неважно в каком порядке будут вычислены ее аргументы.

A>Чистая функция? Отлично. А ее можно реализовать на чистом функциональном языке? Или может она должна быть априорно дана "свыше" вместе с постулированием ее чистоты?

Да любую ф-ию можно реализовать самому, ес-но. Но ты не можешь, как Мюнхгаузен, вытащить себя из боолта за волосы, — у тебя обязательно должен быть некий базис, с помощью которого ты опишешь производные комбинации.

V>>Что именно ты хотел услышать?

A>Хотел увидеть реализацию.

Давай базис.

==========
И да, если это намек на возможность задания перечислимого мн-ва через отношения абстрактных типов, типа как succ succ succ zero или прочая хрень из этой области, давай сразу переходи к своим выводам. Здесь базисом является отношение/отображение... Не сильно мощный базис, надо сказать... Уже с плавающей точкой некие проблемы (отдельная тема). Ну и опять же, ФП сразу не при чем. Системы типов императивных языков позволяют аналогичное. Например, С++ в может точно так же compile-time (привет Wolfhound с его непониманием, откуда в compile-time в С++ берутся зависимые типы).
Re[36]: Императивное программирование
От: vdimas Россия  
Дата: 17.10.12 09:11
Оценка:
Здравствуйте, samius, Вы писали:

V>>Не показываешь. Если нет переменной для промежуточного результата a*b, то нет возможности наблюдения результата таких промежуточных вычислений.

S>Внезапно вычисление факториала тоже обходится без промежуточных переменных и возможности наблюдения результатов для промежуточных вычислений нет (если ты не эмулируешь).

Чем тебе аргументы ф-ий не переменные? Как насчет того, что в чистом ФП других переменных и быть-то не может?

V>>Например, в сигнальных/векторных процах, вычисляющих многочлены (то бишь, заточенных под цифровую фильтрацию), как раз самая популярная инструкция — это одновременное умножение со сложением. Ты как всегда удачно попадаешь с примерами.


V>>То бишь все операнды a*x+b вычисляются аппаратным блоком за один такт. Курить схемы ускоренного сложения и параллельного умножения. Там в конце один "широкий" сумматор на все частичные произведения и на эту накопительную сумму, в кач-ве которой у тебя идет переменная b.

S>О, и на основе частного случая ты опровергаешь наличие такого шага.

Да нет, не опровергаю. Но формулы действительно могут вычисляться в очень разном порядке. Дать тебе для разминки разложение разности квадратов? А произведение синусоид? А если вспомнить, что синусоиды считаются как ряды, то попробуй мне доказать, что в выражении sin(a)*sin(b) сначала будут вычислены операнды умножения, а не будет иметь место (после бета-редукции) оптимизированное вычисление ряда 0.5 * (cos(a+b)-cos(a-b)), где совпадающие элементы ряда будут вычислены лишь однажды?

S>А что если я тебе дам выражение с приоритетами, для которого нет соответствующего проца, считающего его за такт? Соберешь такой проц?


Очевидно, ты просто не понимаешь бета-редукцию или постоянно про нее забываешь. Боюсь, кроме как на ветвлении продемонстрировать приоритеты тебе будет сложно. Ведь в общем случае a и b — это выражения (ф-ии), которые, к тому же, вполне могут быть раскрыты "по-месту". Например, в примере с синусами это могли быть:
a(x)=0.5*(x^3-x)
b(x)=0.5*(x^3+x)
Заметь этом случае явно удобнее вычислить (a+b) и (a-b), и последующее разложение в ряд Тейлора даст кучу совпадающих степеных членов для обоих многочленов, последующее вычитание которых существенно сократит результирующий многочлен.


S>>>Лучше ты доказывай что пошаговости в ФП быть не может.


V>>Я уже всё показал. Извольте возражения по-существу или контрпримеры. Как именно возникает пошаговость на IO, я тоже рядом показал.

S>Я те поражаюсь вообще. Выдумываешь какой-то мутный посыл про ФП (что не может быть пошаговости), находишь в ФП же некий "шаг" в виде if-а, и тем самым доказываешь что ФП не существует или что оно произошло от СП.
S>Жги еще.

А ну да. Опять этот твой неоспоримый аргумент: "не может быть!".

Где "может быть" легко различимая поэтапность в ФП я уже показал. Почему происходящее в ветвлении в ФП и СП одинаково — тоже показал не раз. Даже с учетом ленивости. А если некие спекулятивные чистые вычисления ложных веток могут быть выполнены (как настаивают коллеги), то все-равно результат этих вычислений будет отброшен (ими же утверждается, хотя там есть тонкости, на которые они пока ответить не в состоянии). В любом случае, всегда можно считать, что этих вычислений не было — они были совершенны фантомом в параллельном пространстве и самоиспарились. А те вычисления, что нас интересуют — будут упорядоченны именно как я сказал. То бишь даже если во времени (в ФП во времени!!! гы-гы, вот уровень их рассуждений!), где-то будет вычислена положительная ветка раньше, то наблюдаемого результата этих вычислений все-равно не будет до тех пор, пока не будет вычислен предикат. Увы. Т.е. даже в случае автоматического распараллеливания, результат будет отложен как аргумент той самой ленивой ф-ии (в основном потоке вычислений), которая будет упорядочивать все параллельные вычисления. Упорядочивать будет, ес-но, по мере вычисления значений предикатов на ветвлении. Муахаха.. ))

====
Это я еще молчу о ветвлении на паттерн-матчинге, где в реальности сейчас происходит реинтерпретация памяти в общем случае, согласно значению дискриминанта алг-типа. Т.е. что именно в ложных ветках паттерн-матчинга можно вычислять в общем случае — это загадка из загадок.
Re[46]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.10.12 09:18
Оценка:
Здравствуйте, samius, Вы писали:

I>>Ну то есть, тебе удобно считать ВУЗ как ПТУ, но при этом ты резко не согласен, что такой ВУЗ я считаю дохленьким.

S>я не понял что ты его считаешь дохленьким. Я думал что твой посыл в том, что аж из такого крутого ВУЗ-а, да такие дохлые спецы...

Крутых вузов единицы. Ну может штук 10 по всей россии и потому выхлоп от них на общем фоне не виде.

I>>Ничего не ожидаю. Думаешь эта академия сильно отличается от вузов навроде рязанского радиотехнического или оренбургский гусударственный университет ?

I>>Это ж тоже ПТУ по твоей классификации. Люди которые попадали к нам оттуда еле еле учились, хотя там были чуть не отличники.
S>Да они там были отличниками потому что с них там ничего не спрашивали. А значит ПТУ по моей классификации.

Ну вот теперь ты понимаешь, почему они не смогут осилить сикп.

I>>"другие методы" А программируют они чисто ради хобби, ага

S>Их там чо, еще и программировать учили?

Даже больше — после этого вуза еще и работают в ИТ.

I>>Это не важно. Количество сильных вузов которые ты и называешь вузами (а все остальные — ПТУ, навроде академии ФСБ) вообще говоря мало. Выпускники этих вузов не могут покрыть спрос на специалистов, то есть, вообще никак.

S>А что, выпускники должны что-то покрывать? Мне вообще говоря, это не очевидно. Руководителям ведущих ВУЗ-ов планеты — тоже.

Выпускники ничего не должны. А вот для того, что бы работала система образования и в стране появлялись и распространялись высокие технологии, нужен выхлоп не только качественный, но и количественный. Очень легко сделать пару человек экстремально высокой квалификации. А вот сделать хотя бы тысячу но средней квалификации задача на порядки сложнее.

>Если тебе нужна дешевая рабсила — это проблемы твои или твоей конторы. Нужна качественная сила — плати бабки и хорошо фильтруй. Никакого покрытия никто тебе не должен, пока ты не министр образования.


Вот по таким принципам и строится все российское образование, результаты не удивляют.
Re[34]: Императивное программирование
От: vdimas Россия  
Дата: 17.10.12 09:52
Оценка:
Здравствуйте, artelk, Вы писали:

V>>Осталось убедительно показать, что происходящее в процессе эмуляции прямо по исходнику ФП-программы хоть чем-то отличается от твоего "понимания" ФП. программист-то в процессе написания рпограммы как-то трекает в голове, как она должна работать, не?

A>Систему математических уравнений ведь можно понять без знания о точном порядке в каком она будет вычисляться.

В ФП речь может идти не об уравнениях, а о ручном решении уравнений. Не лучше, чем в императиве. Заметь, решения любых уравнений даются в любых учебниках/справочниках как вполне вполне пошаговые алгоритмы. То бишь, до фени даже в ФП или императиве это решение будет вопроизведено. Я потому и напоминаю периодически некоторым оторвавшимся от реальности, что современное ФП описывает решение ровно с той же степенью подробности, как императив. Отсюда мои потрунивания над использованием термина "декларативный" применительно к ФП.

A>Вот программа на ФП, по сути, и представляет из себя систему уравнений.


Садись, два. )))
Программа на ФП представляет из себя комбинацию ф-ий (односторонних отображений), больше ничего. Это программа не умеет совершать обратные отображения, необходимые для поиска решений, не умеет задавать аналитический вид этих отображений по обе стороны от =/</>/!=/etc. Любые отображения, задаваемые в ФП — это одностороння символьная подстановка и ничего более. Строгости ради можно считать, что никаких ф-ий нет, а есть символы, которыми заменили лямбды на этапе декомпозиции решения задачи.

Напротив, система уравнений — это система неких утверждений. Решение системы уравнений состоит в нахождении значений свободных аргументов (или диапазонов их, то бишь аналитических зависимостей свободных и несвободных аргументов), при которых исходные утверждения станут истинными. В ФП программе, однако, эти аргументы даются де-факто, искать их не надо. Поэтому два.

На сегодня решать уравнения умеют только языки программирования в ограничениях и то в сильно ограниченном виде (сорри за тафтологию). К языкам программирования в ограничениях обсуждаемое ФП никаким боком, ес-но. Лично я не против применять термин "декларативный" к подобным языкам, бо это будет хотя бы заслуженно.


V>>В чистых Agda2-программах, которые пишут исключительно как proof-assistance, никакой код не выполняется. То бишь, рассуждать о том, что выполнится раньше — нелепо. Там целью является успешная компиляция. А если запускают на выполнение, то ничем от Хаскеля происходящее не отличается: http://progopedia.com/implementation/agda-2/

A>Программа является написанной на чистом функциональном языке до тех пор пока ее не запускают?? Оригинально.

Блин, хотел же с тобой закругляться еще 3 дня назад, бо потеря времени...
Кароч, чтобы иметь возможность запустить программу на выполнение, она должна стать нечистой. Пройдись по ссылке.
Re[32]: Императивное программирование
От: vdimas Россия  
Дата: 17.10.12 10:03
Оценка: :)
Здравствуйте, artelk, Вы писали:

A>Очень интересно. Т.е. если в качестве предиката было бы (x>1), то второй пример потерял бы свою функциональную чистоту?


Если честно, забодал подменой темы обсуждения. Речь была о упорядочивании вычислений, а не о чистоте. 99% ф-ий в современном императиве тоже чисты и что с того? Императива не существет?

Целью-то (если подняться на самый верх противостояния ФП vs императив) является исключительно ссылочная прозрачность, которая, в свою очередь, гарантирует детерминированность. А иммутабельность/чистота ФП — это ни разу не цель, но одно из ср-в достижения цели. Не самое удобное ср-во, как по мне. Слишком дорого за него платить. Есть и другие способы.

В общем, если вернуться к цели обсуждения, то, прежде чем изучать ограниченные техники, навроде ФП, надо иметь четкое представление, зачем эти техники нужны. То бишь, что именно программист получит взамен столь высокой платы. А если человек плавает в св-вах чистоты, не понимает ссылочной прозрачности, умудряется рассуждать об вычислениях веток "раньше" во времени (!!!) когда речь об ФП, то это просто отдача дани ФП-моде и профанация в итоге.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.