Что такое свёртка списка? Душкин объяснит

Поделиться
HTML-код
  • Опубликовано: 5 янв 2025

Комментарии • 12

  • @MathOfFreedom
    @MathOfFreedom 2 года назад +1

    Ну, pyton команду
    reduce (lambda x, y: x*y, range(1, 100))
    тоже выполняет мгновенно. И даже что-то вроде
    reduce(lambda x, y: x*y, map(lambda x: x**2, range(1, 10000)))
    занимает меньше четверти секунды.
    Но в хаскеле подобный код определенно смотрится проще и лаконичнее

    • @dushkin_will_explain
      @dushkin_will_explain  2 года назад +1

      Благодарю за наглядные пояснения.

  • @dushkin_will_explain
    @dushkin_will_explain  2 года назад +1

    Все видео по функциональному программированию в одном плейлисте: ruclips.net/video/bPCBb1U56yw/видео.html
    И вы всегда можете обратиться к нам за консультациями.

    • @dushkin_will_explain
      @dushkin_will_explain  2 года назад +1

      И, кроме того, вы всегда можете написать мне в ТГ: @rdushkin

  • @telpozis
    @telpozis 2 года назад +1

    Хаскель лучший... но не для всех... но лучший! :-)

    • @dushkin_will_explain
      @dushkin_will_explain  2 года назад +1

      Воистину!

    • @alexanderskusnov5119
      @alexanderskusnov5119 2 года назад

      Есть и другие достойные языки: Delphi, MatLab. Или библиотека DirectX с обёрткой C++ для скоростной трёхмерной графики. Та же библиотека CUDA для параллельных расчётов на GPU.

  • @alexanderskusnov5119
    @alexanderskusnov5119 2 года назад +2

    Как раз всё наоборот: из-за лени foldr может сделать вычисления для бесконечного списка (напр., логическая сумма или произведение), а foldl всегда разойдётся.

    • @dushkin_will_explain
      @dushkin_will_explain  2 года назад

      А я что сказал?

    • @ssh15
      @ssh15 Год назад

      @@dushkin_will_explain а я все равно не понял, если список бесконечный, какая разница с какого конца начинать? тот же length выраженный через foldr вдруг покажет длину бесконечного списка?

    • @ssh15
      @ssh15 Год назад

      кажется понял, логическая сумма выходит из рекурсии после первой True, определена через foldMap, а foldMap через foldr, а foldr через foldMap... это какая то рекурсия рекурсий, бедный мозг болит)

    • @dushkin_will_explain
      @dushkin_will_explain  Год назад +1

      @@ssh15, length = sum . map (\_ -> 1)