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

    +126

    1. 1
    2. 2
    printfn "%A" <| [1,2,3,4,5].Length
    printfn "%A" <| [1..5].Length

    F#
    http://ideone.com/A2DZPr

    Запостил: HaskellGovno, 03 Мая 2014

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

    • Эта хрень повторяется на всех доступных мне компиляторах. Даже на самом последнем. Они поехавшие? Почему никто кроме меня этого не замечает? Как вообще с этим жить? Майкрософт совсем обалдела показывать миру сырой продукт. Или санкции против России в Майкрасофте подмешивают в программы рандомные баги.
      Ответить
      • cleaned
        Ответить
      • Ещё и <| левоассоциативный, ненависть.
        Ответить
        • А что плохого?
          Ответить
          • Нельзя писать цепочки вида take 5 $ map (+1) $ iterate (+1) $ 1, хотя в обратную сторону с |> можно.
            Ответить
            • Плюсую. F# не нужен. Он ещё и дохрена медленный со своими seq. Он напрочь не кеширует вычисления. Они зря не пошли по пути хаскеля с божественными бесконечными ленивыми списками
              Ответить
              • В F# есть lazy тип. На его основе можешь написать себе ленивые списки. Более того он написан уже в PowerPack.
                Ответить
                • Я хочу чтобы он использовался с родным синтаксисом типа [...] в стандартной библиотеке, а не чтобы там былдо дефолтное непотребное не ленивое говно.
                  И вообще в F# не хватает функций комбинаторов типа id, const, монад, алгоритмов и тд. Уж и не знаю из какой императивной задницы они высрали этот язык.
                  Ответить
              • > Он напрочь не кеширует вычисления.
                Seq.cache
                Ответить
    • Самому интересно стало
      Ответить
    • Откуда вы такие выползаете? Азы языка не освоили, а туда же, на говнокодик лезут...
      > printfn "%A" <| [1,2,3,4,5];;
      [(1, 2, 3, 4, 5)]
      
      > printfn "%A" <| [1..5];;
      [1; 2; 3; 4; 5]

      Понятно?
      Отсюда:
      > printfn "%A" <| [1;2;3;4;5].Length;;
      5
      Ответить
      • cleaned
        Ответить
      • оператор "запятая" в действии
        http://msdn.microsoft.com/ru-ru/library/vstudio/f6ky5k2y(v=vs.100).aspx
        Ответить
        • Не, оператор запятая тут не причем. Это кортеж в списке. Получился типа один элемент в списке
          Ответить
      • Ого. Значит это я поехал. Пошел ка я спать. Шучу. Сейчас нельзя. Позже.
        Ответить
      • >Откуда вы такие выползаете? Азы языка не освоили, а туда же, на говнокодик лезут...
        Это ж гумно. Ему можно.
        Кстати вспоминается эпичный тред про генератор флоат-списков. В F# они вроде тоже сломанными оказались.
        Ответить
        • А что это ему вдруг можно? Тоже нельзя.
          Ответить
          • И тебе тоже.
            F# - непаханное поле, нужно же кому-то его удобрять, хотя в ваших сортах я особо не секу.
            Ответить
    • показать все, что скрытоВсем по минусу, суки.
      Ответить
    • Нужно было ; использовать. Тред не читал.
      Ответить

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