-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Что делать с жунами

Вторник, 27 Апреля 2021 г. 12:59 + в цитатник
applegame:
Цитата korvin @
Отлично, "не читал, но мнение имею", "слышал звон, но не знаю где он". Как-то так.
Я твой последний код не читал и никакого мнения по нему не высказал. Я давно изучал Хаскель и мне приходится прилагать усилия для расшифровки его закорючек если код чуть сложнее тривиального. Я просто не хочу это делать потому что, полностью уверен, что из анализа твоего примера не будет добавлено к уже сказанному ничего нового.
Цитата korvin @
А ещё есть шутка, что Хаскелл --- это лучший императивный язык.
https://wiki.haskell.org/Do_notation_considered_harmful
Я читал эту статью. Первый раз лет пять назад, когда изучал Хаскель, второй раз позавчера :)
То что там написано не опровергает того что пишу я. Результат выполнения инструкций в do-нотации будет таким же как если бы они выполнялись последовательно, вне зависимости от того чистые там функции или грязные. Согласен? В точности как в ИП. Статья большая, а ты выбрал одну фразу и выдрал ее из контекста. Молодец, чо. :)
В шутке про лучший императивный язык, как обычно только доля шутки. На Хаскеле можно извратиться и писать императивно, я видел даже эквивалент обычных циклов, сделанный на монадах. Правда Хаскель скорее все же худший императивный язык :)
Цитата korvin @
А если б не было побочных эффектов?
Без побочных результат не изменится. Но в ИП мы не знаем есть ли там побочные эффекты или нет. Компилятор может знать, а может и не знать об этих эффектах.
Поэтому в ИП последовательность инструкций важна, а в ФП нет. Нужели ты оспариваешь даже этот тезис? Он жн полностью согласуется как с моим определением, так и с общепринятым. Повторю вопрос, у тебя какое-то свое определение?
Цитата korvin @
Не потерял, я тебе специально такой кусок привёл, где можно поменять порядок композиции, чтоб ты подумал:
Я ответил на этот вопрос, ты правда никак не отреагировал.
Цитата korvin @
Впрочем, давай рассмотрим твой кусок:
:facepalm: И ты мне предлагаешь проверить память после этого. Обсуждали же уже этот кусок и этот вопрос. Смотри конец поста: Что делать с жунами (сообщение #3846765)
Цитата D_KEY @
Так ты же выше отказался от общепринятого определения ИП, убрав оттуда изменение состояния. Откуда тогда побочные эффекты? До сих пор не понимаю, чем тебе не нравится "обычное" определение ИП.
То что в моем определении нет необходимости в мутабельных переменных, не означает, что ИП не может иметь побочных эффектов. В общепринятом определении наличие последовательности инструкций - это необходимое, но недостаточное условие для ИП, а в моем это необходимое и достаточное условие.
Почему мне не нравится общепринятое определение, я тебе уже объяснял, но ты игнорируешь мои объяснения. Еще примеры:
Это императивщина?
    int a = foo(x)
    if(a == 0) return 1;
    a = a + bar(a);
    if(a == 1) return 2;
    return 3;

Теперь добавим иммутабельности.
    immutable a = foo(x)
    if(a == 0) return 1;
    immutable a1 = a + bar(a);
    if(a1 == 1) return 2;
    return 3;
Теперь это функциональщина?
Опять начнешь растекаться мыслью по древу, что тут нельзя точно сказать, что это смесь разных парадигм и так далее?
Цитата D_KEY @
Почему первое предложение про тебя, а второе про всех?
Вот ты и не парился, когда писал

За const парятся в обязательном порядке.
Ты похоже один из тех, кто думает, что const в C/C++ - это и есть иммутабельность.
За const в мейнстриме начали парится с появлением его в C++ и C, то бишь в начале 90-х. С иммутабельностью мало кто парится и по сей день.
Что касается лично меня. Я начал париться за const с 1994-го когда мне в инстутуте объяснили зачем он нужен. На иммутабельность я обратил внимание когда начал писать на D (лет 7 назад), а окончательно уверовал в ее полезность, когда начал изучать ФП на примере Хаскеля (лет 5 назад).
Цитата D_KEY @
Да даже на системном уровне попадается что-то в духе RCU, например
RCU прямого отношения к иммутабельности не имеет. Имутабельность может форсировать RCU, но не наоборот.

Добавлено
Цитата OpenGL @
Именно в таком виде нет, т.к. если бы было можно, то легко было бы нарушить правило BC "на объект есть только одна mut ссылка". Но тем не менее это не иммутабельность, т.к. ничто не мешает менять объект, на котором нет mut, посредством Cell:
Мде. Похоже и правда полноценную иммутабельность можно сделать только в языках с GC.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846854

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку