вся індустрія розробки про це — про роботу з side effectами.
Ну... не погоджуюсь. Більшість кода детерміністична, в якому намішані side effects. Як це зазвичай виглядає? Отримуємо запит, отримуємо все необхідне для його обробки.
То можна просто дати посилання, але flatten це лише одна функція, яку можна написати з використанням монади. Але монади це обмежуються flatten. Як в анекдоті: — Для чого потрібен Access? — Для того, щоб працювати з базою даних Борей.
# ось flatten на хаскел [[1, 2], [3]] >>= id
Чи можна замість monad.flatten зробити monad.bind(func) на python?
Ну... простіше використати concat [[1, 2], [3]] Використання монади тут явний overkill.
Ну отож, у імперативщені монади корисні лише якщо ви хочете щось розраховувати «дуже специфічним способом», наприклад гарантуючи використання векторних інструкцій
Це зовсім не має ніякого відношення до монад. Або це інший термін.
Програми створюються саме заради побічних ефектів, а не обрахунку чисел Фібоначі.
Повністю згоден. Навіть для того, щоб обрахунок чисел Фібоначі був корисний, нам треба їх надрукувати (читай побічний ефект).
Ну отож, у імперативщені монади корисні лише якщо ви хочете щось розраховувати «дуже специфічним способом», наприклад гарантуючи використання векторних інструкцій коли на вході матриці, звичайних list операцій коли на вході rowar моделі, а також комбінувати...
Эммм, чего? ГТА сменила концепцию и перестала быть игрой по бандитов? В мире мафии толерантностью и не пахнет, сами меньшинства точно хотят быть представлены там? Геи мафиози — ну точно репрезентативно.
А в щелепу, в лоба чи в скроню? 😁 Бо у мене всі як стовпчики лягають, якщо шолома немає 🙂 Не помітив проблеми. Навпаки дуже економно спокійно відстрілювати в голову ніж настпати з автоматичної.
Коментарі