Душа настоятельно требует
Вставить эту конструкцию
в документацию по бухгалтерской системе и сказать ИТ-отделу клиентов, что для реализации бухгалтерских расчетов используется Haskell. И что система отдается им на сопровождение.
Вообще есть мысль найти какой-нибудь встраиваемый функциональный язык и впихнуть его туда в качестве языка для составления отчетов. А то некоторые вещи на SQL ложаться плохо, а если в императивном стиле писать - дико бесят. А так были бы кортежи, паттерн-matching, всякие там map да filter да fold - сиди безумствуй в свое удовольствие.
sort [] = []
sort (x:xs) = sort (filter (< x) xs) ++ [x] ++ sort (filter (>= x) xs)
в документацию по бухгалтерской системе и сказать ИТ-отделу клиентов, что для реализации бухгалтерских расчетов используется Haskell. И что система отдается им на сопровождение.
Вообще есть мысль найти какой-нибудь встраиваемый функциональный язык и впихнуть его туда в качестве языка для составления отчетов. А то некоторые вещи на SQL ложаться плохо, а если в императивном стиле писать - дико бесят. А так были бы кортежи, паттерн-matching, всякие там map да filter да fold - сиди безумствуй в свое удовольствие.
no subject
no subject
no subject
no subject
no subject
Первая строка означает что сортированный пустой список [] это пустой список.
А вторая - что непустой список разделяется на его голову x и остаток xs , потом остаток фильтруется на два списка - элементы больше головы, элементы меньше головы, полученные списки сортируются вызовом той же функции, из полученных трех частей собирается результат: (отсортированные элементы меньше головы), (голова), (отсортированные элементы больше или равно чем голова).
filter - функция отображающая список на список с помощью переданного ей предиката, а предикат представлен в виде (< x) или (>= x).
В итоге получается рекурсивная сортировка, только вот я не знаю, сумеет ли хаскел оную рекурсию оптимизировать. И вообще не знаю, работает ли это, ибо увидел в комментариях в ru_programming к посту про то, что if не нужен :)
no subject
no subject
no subject
no subject
Вот из-за этого небось хаскел и не получает распространения. Если даже обычная сортировка записывается настолько сложной для чтения конструкцией, то боюсь даже представить, что получается в более сложных случаях...
no subject
no subject
no subject
no subject