Ayrat
Даже императивный for
Vasily
Все тлен
Nikolay
Nikolay
Nikolay
Норм пример?
Andrew
Норм пример?
+, как по мне очень доступный и простой
Nikolay
Вот как-то так :)
Анна
Вот как-то так :)
меня название слайда смущает
Анна
не самые приятные ассоциации с функциями в F# :)
Nikolay
Да ладно, крутые)
Andrew
Я не знал, что так можно 😅
Анна
у меня были смутные воспоминания о том, что F# просто так не даёт на верхнем уровне shadow делать 🤔
Nikolay
Я щас проверил, всё работает
Анна
ну вот или голова моя меня подводит, или ЯЧДНТ
Анна
потом посмотрю :)
gsomix
@Dolfik У тебя плохой минус, только для одного типа работает.
Nikolay
Сам по себе термин «ФП», как и любой ультрамодный тренд, намеренно расплывчат, чтобы легче было ловить неадекватов на форумах
Romɑn
Вернулся @gsomix и боты перваратились в людей
gsomix
gsomix
Хотя, конечно, здесь лучше бы арчвайл подошел.
Nikolay
Есть какие-нибудь годные картиночки для иллюстрации иммутабельности?
gsomix
Сек.
gsomix
gsomix
Какие-то чуваки, помнится, в лекции по хаскелю вставляли такие картинки с Гослингом.
Nikolay
Ну это мем
Nikolay
А хотелось бы типа объяснение, хз
Nikolay
Как это
Nikolay
https://img-9gag-fun.9cache.com/photo/8165_700b.jpg
Это же не про иммутабельность по сути
Pavel
сигал иммутабелен по жизни
Анна
мне только каменные скрижали в голову приходят. или надгробные плиты
Nikolay
Ну судя по пикче внутреннее состояние меняется
Nikolay
А внешнее нет
Nikolay
Он скорее грязная функция, которая притворяется чистой
Nikolay
Или забагованая чистая функция
Hog
А внешнее нет
А это, кстати, тоже тема. Если мутабельность наружу не видна - так тоже можно. Мемойзейшн
Nikolay
И это будет не чистая функция
Анна
Это плохо так то
в F# так можно
Nikolay
в F# так можно
Да и в хаскеле можно 🤷‍♂️
Nikolay
Но всё равно плохо
Анна
ну и чего плохо-то
Nikolay
Сайд эффекты
Анна
ты же стремишься писать читаемый код без багов, а не код без сайд-эффектов
Анна
если запрятанная в функцию мемоизация тебе ничего не сломает и будет нормально работать, чем это плохо?
Nikolay
Сложно тестировать функцию
Nikolay
И разрабатывать тоже
Nikolay
Да и вообще, в чистой функции гораздо проще увидеть баг до того, как он всё сломает, чем в не чистой
Анна
Мы всё ещё про мемоизацию говорим? это же нормальный устоявшийся паттерн вроде
Nikolay
Нужно подумать
Nikolay
Но вообще это вроде не очень
Pavel
"фп это не про отсуствие сайд эффектов это про комбинирование функций"
Nikolay
Слишком размыто
Анна
Не клади здравый смысл на алтарь отсутствия сайд-эффектов
Pavel
это определение от хаскелистов
Nikolay
Так никто не говорит, что сайд эффектов не должно быть
Nikolay
Они всегда будут, но их нужно подальше уносить и изолировать
Pavel
тогда получится академический хаскель
Vladislav
Сайд эффекты
Реальный мир из них состоит
Pavel
Они всегда будут, но их нужно подальше уносить и изолировать
а потом появится вопрос из зала: и как работать с базами данных?
Nikolay
Pavel
особенно без примеров как это делать
x
Самого этот вопрос волнует. С одной стороны да, изолировать. А с другой мемоизация это ж стейт (под капотом). И этот стейт размазывается повсюду. Это ж нечисто
x
Потому что стейт и сайд эффекты должны выноситься на края системы, а мемоизация вдруг может быть где угодно, в центре чистейшего функционального ядра
Vladislav
» их нужно подальше уносить и изолировать
Но как вы работаете с ними! На словах то все хорошо звучит