На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (4) 1 2 [3] 4  все  ( Перейти к последнему сообщению )  
> ООП vs %name% , размышления о проектировании
    Цитата
    Монады и точки - это взаимно перпендикулярные сущности.

    Ну фиг знает. Цепочка вычеслений и цепочка вычеслений.
      Цитата D_KEY @
      Раз забыл, значит редко используешь. Значит да, лучше обсудить детали. И значит в этом конкретном случае от паттерна толку не было.

      Почему? Юзать паттерны не зная что из них чем является - нормальное явление для программиста.
        Цитата OpenGL @
        Юзать паттерны не зная что из них чем является - нормальное явление для программиста.

        Я под паттерном понимаю в данном случае именно устоявшийся каталогизированный способ и соответствующий ему термин.
        А то, что твое решение совпадает с паттерном - это уже другой вопрос :)
        Думаю, что у всех программистов такое бывает и читая тот же GoF впервые они видят там свои же решения, пусть и чуть в другом виде иногда.
          Разговор про монады напомнил мне, как я тут развлекался когда-то в одной из тем
          Монады и C++
          Часть 2(списки)
          Часть 3(монада IO)
          Цитата D_KEY @
          ХЗ зачем я все это делал, но было интересно :D

          Вот уж действительно :)

          Добавлено
          Я думал меньше времени прошло :'(
            Цитата Астарот @
            Ну фиг знает. Цепочка вычеслений и цепочка вычеслений.
            Всякая монада - это действительно цепочка вычислений. Но не всякая цепочка вычислений - это монада.
              Цитата applegame @
              Цитата Астарот @
              Ну фиг знает. Цепочка вычеслений и цепочка вычеслений.
              Всякая монада - это действительно цепочка вычислений. Но не всякая цепочка вычислений - это монада.

              Что никак не объясняет почему они "перпендикулярны".
                Цитата Астарот @
                Что никак не объясняет почему они "перпендикулярны".
                Я хз как ещё объяснять. "Монады - это точки" это примерно как "студенты - это программисты". Так вот, студенты и программисты взаимно ортогональны. Есть такая аллегория.
                Сообщение отредактировано: applegame -
                  Цитата applegame @
                  Я хз как ещё объяснять. "Монады - это точки" это примерно как "студенты - это программисты". Так вот, студенты и программисты взаимно ортогональны. Есть такая аллегория.

                  Очевидно же, что когда я говорю "монада - это точки", то рассчитываю, что все тут присутствующие все же программисты, и смогут развернуть это колхозное определение во что-то вроде "объекты содержащие логику и состояние и поддерживающие цепочечные вызовы", или как-то так. Вообще говоря какой-нибудь "билдер" на все возвращающий сам себя, а на build() результат - тоже монада :crazy:
                    Цитата Астарот @
                    "объекты содержащие логику и состояние и поддерживающие цепочечные вызовы"

                    Любой класс, в котором есть логика и состояние и в котором есть метод возвращающий тип-объект подходит под это определение. :-?
                      Цитата applegame @
                      в Хаскеле, наоборот, без монад вообще невозможно жить.

                      Можно, но не нужно, ибо с ними удобней.

                      Цитата Астарот @
                      А функциональщина она как раз про бесточечную нотацию, кажется.

                      Point-free notation не про '.'
                        Цитата korvin @
                        Можно, но не нужно, ибо с ними удобней.
                        Как ты себе представляешь приложение без I/O? Без монад можно разве что либы писать.
                          Более того, именно ради I/O программа и пишется :D
                            Цитата applegame @
                            Цитата korvin @
                            Можно, но не нужно, ибо с ними удобней.
                            Как ты себе представляешь приложение без I/O? Без монад можно разве что либы писать.

                            Возможно, есть другие способы сделать ввод/вывод в haskell. Без монад.
                              Цитата applegame @
                              Как ты себе представляешь приложение без I/O? Без монад можно разве что либы писать.

                              Монады не про IO. Берёшь unsafePerformIO и вперёд. Альтернативный вариант — unique types в Clean.
                                Цитата korvin @
                                Монады не про IO.
                                Монады не про IO, зато IO про монады.
                                Цитата korvin @
                                Берёшь unsafePerformIO и вперёд.

                                Там все равно присутствует монада IO:
                                Цитата
                                This is the "back door" into the IO monad, allowing IO computation to be performed at any time.

                                И всякие операторы вроде >>= и do-нотация - это тоже использование монад.
                                Монады в Хаскеле - это не прикольная дополнительная возможность, а суровая необходимость.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (4) 1 2 [3] 4  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0455 ]   [ 16 queries used ]   [ Generated: 18.04.24, 00:16 GMT ]