1. Куча / Говнокод #11735

    +118

    1. 1
    2. 2
    3. 3
    yoba = (flip (>>=) .) . ((filter .) . (flip . (((==) .) . flip mod)))
     
    main = print $ yoba 3 0 [КО КО КО]

    http://ideone.com/UGoYJ
    result: Internal error time: 0s memory: 0 kB signal: 0

    Запостил: LispGovno, 09 Сентября 2012

    Комментарии (26) RSS

    • С самого начала я хотел сделать вот это
      http://ideone.com/zNEPH
      yoba = (flip (>>=) .) . ((filter .) . (flip . (((==) .) . flip mod)))
       
      main = print $ yoba 3 0 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

      Но говно внезапно всплыло...
      Ответить
      • На 7.4.1 нормально работает. Ответ [3,6,9].

        P.S. В примере с KO KO KO ghc 7.4.1 выдает корректную ошибку: Not in scope: data constructor `KO'. Видимо в 6.8.2 баг, приводящий к краху компилера.
        Ответить
        • Печально ещё и то, что язык позволяет писать такую нечитабильную ерунду. Я как бы написал и понимаю, а представьте это комуто достанеться на поддержку?
          Ответить
          • > язык позволяет писать такую нечитабильную ерунду
            На самом деле любой язык позволяет писать нечитабельную ерунду. Если эту возможность убрать, язык получится неудобным и невыразительным (привет бейсику и фортрану). Все сводится к тому, стоит ли абузить возможности языка, или же пользоваться ими в меру...

            P.S. Хоть хаскель мне очень нравится, он все-таки вынуждает абузить многие возможности языка, зачастую приводя к ужасному коду ;)
            Ответить
            • Что фортрану?
              Ответить
              • Fortran 90 (1991)
                Значительно переработан стандарт языка.
                1. Введён свободный формат написания кода.

                до этого 20+ лет стиль был не очень свободным
                Ответить
                • И что, это мешало писать нечитабельную ерунду?
                  Впрочем, автор изначальнього тезиса отчасти прав - этот сверхплотный ФП-код - это неподдерживаемая заумь, одиночкам наверное зашибись, в промышленности неприемлемо. Впрочем, если одиночка за счёт мощи ФП сможет быть эффективнее, чем сто крестоблядей (как когда-то грозился клоун всл), то я поверю в ФП.
                  Ответить
                  • > если одиночка за счёт мощи ФП сможет быть эффективнее, чем сто крестоблядей (как когда-то грозился клоун всл), то я поверю в ФП

                    ФП давным-давно эффективнее в некоторых областях. Естественно, в других может быть эффективнее императивное или логическое программирование.
                    Например, сборщик мусора дотнета изначально был написан на Лиспе. Потом, после отладки и вылизывания, переписан на C++ для увеличения производительности.
                    В общем, будущее за мультипарадигменностью: для каждого случая применяем свой подход. Хай живе Немерле!
                    Ответить
                    • > Например, сборщик мусора дотнета изначально был написан на Лиспе.
                      Киньте, пожалуйста, пруфлинк.
                      Ответить
                • > стиль был не очень свободным
                  Проприетарный стиль?
                  Ответить
            • Я кстати, тут думал: почему в Haskell нельзя объявить универсальный адаптер для typeclass'ов?...
              Разбирался на досуге с некоторыми функциональными структурами данных, в связи с этим, собственно, и возник вопрос: к примеру, я объявляю typeclass Heap (как интерфейс, хочется ведь иметь несколько реализаций хипа), поддерживающий несколько методов, среди которых есть empty и merge.

              Хотелось бы, к примеру, сказать, что любой Heap является Monoid, причём mempty = empty и mappend = merge, и этим избавиться от необходимости объявлять экземпляр Monoid для каждой реализации Heap.

              Может, я что-то упустил...

              Тогда бы и все монады можно было бы сделать аппликативными функторами в пару строчек кода, а не писать каждый раз реализации.
              Ответить
    • Что за язык?
      Ответить
      • yoba. очень модный язык в моем раёне, все посоны на нем пишут
        Ответить
        • yoba хуйня. ща все перешли на yoba++, готовят yoba# к выпуску.

          UPD: чуть не забыл про новый распиздатый .PONT Framework, для того чтобы таскать 500 мб библиотек к программам на yoba#
          Ответить
          • А yoba++0x и yoba-- уже выпущены?
            А ещё слухи ходят об Objective-yoba.
            Ответить
            • yoba всё-таки слишком сложный язык, поэтому были разработаны упрощённые языки для дошкольников, набравшие популярность - forth и brainfuck, а разработка yoba была приостановлена.
              Ответить
    • ALLOW, YOBA ETO TI?
      Ответить
    • >yoba 3 0 [КО КО КО]
      Вот они прожженные /prофи, которые с презрением смотрят на убогих крестовиков, обезьянок пхпшников, LINQ-шарперов, жабистов-фабрикантов и прочую нечисть.

      Но ничего более полезного на чудо-хацкиле они почему-то написать не способны. Парадокс?!
      Ответить
      • чудо-хацкил ради чуда-хацкиля?
        танунах.
        на самом деле, даже на пхп можно (конечно, в жутких болях, но можно) родить качественный софт
        Ответить
        • > конечно, в жутких болях
          Нет, это не те слова, которые способны передать муки рождения софта на пыхе.
          Ответить
    • > LispGovno
      Еще и акк не тот.
      Ответить

    Добавить комментарий