LINUX.ORG.RU

История изменений

Исправление vertexua, (текущая версия) :

В хаскелле концептуально красивые вещи есть, которые правда мир не преображают. Ну такие как если бы фотография была такой что ты залайкал в фейсбуке и пошел дальше. Писать серьезный софт под заказ с твердыми сроками - ребячество.

Пример, call-by-need упомянутый выше приводит к интересным эффектам. Например можно последовательно применить функцию lines к полному содержимому файла, разбив файл на строки, преобразовав каждую строку, а потом unlines, преобразовав все назад в строку и записав файл. В отличии от практически любого ЯП программа не упадет на терабайтном файле, так как вышеописаное - декларативный алгоритм трансформаций и не требует явного наличия промежуточных результатов.

Понимая даже такой пример и устройство его внутри, через chunks, можно построить подобное при потребности где-то еще, в более практичных инструментах.

Концепция монад, которая вообще не главная фича хаскелля, но ее постоянно приплетают, есть во многих языках. Просто абстракция цепочек вычислений, сам backend которых резко отделен от них самих. Тоесть у тебя есть вычисления, но ты их можешь запускать последовательно, параллельно, в транзакциях, с логированием, в рамках нескольких раздельных HTTP запросов и вообще как тебе позволяют те таблетки которые ты принимаешь или голоса в голове.

Исходная версия vertexua, :

В хаскелле концептуально красивые вещи есть, которые правда мир не преображают. Ну такие как если бы фотография была такой что ты залайкал в фейсбуке и пошел дальше. Писать серьезный софт под заказ с твердыми сроками - ребячество.

Пример, call-by-need упомянутый выше приводит к интересным эффектам. Например можно последовательно применить функцию lines к полному содержимому файла, разбив файл на строки, преобразовав каждую строку, а потом unlines, преобразовав все назад в строку и записав файл. В отличии от практически любого ЯП программа не упадет на терабайтном файле, так как вышеописаное - декларативный алгоритм трансформаций и не требует явного наличия промежуточных результатов.

Понимая даже такой пример и устройство его внутри, через chunks, можно построить подобное при потребности где-то еще, в более практичных инструментах.

Концепция монад, которая вообще не главная фича хаскелля, но ее постоянно приплетают, есть во многих языках. Просто абстракция цепочек вычислений, сам backend которых резко отделен от них самих. Тоесть у тебя есть вычисления, но ты их можешь запускать последовательно, параллельно, в транзакциях, с логированием, в рамках нескольких раздельных HTTP запросов и вообще как тебе позволяют те таблетки которые ты принимаешь.