metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2007-12-14 02:10 pm

Душа настоятельно требует

Вставить эту конструкцию

sort [] = []
sort (x:xs) = sort (filter (< x) xs) ++ [x] ++ sort (filter (>= x) xs)

в документацию по бухгалтерской системе и сказать ИТ-отделу клиентов, что для реализации бухгалтерских расчетов используется Haskell. И что система отдается им на сопровождение.

Вообще есть мысль найти какой-нибудь встраиваемый функциональный язык и впихнуть его туда в качестве языка для составления отчетов. А то некоторые вещи на SQL ложаться плохо, а если в императивном стиле писать - дико бесят. А так были бы кортежи, паттерн-matching, всякие там map да filter да fold - сиди безумствуй в свое удовольствие.

[identity profile] x-a-e-p.livejournal.com 2007-12-14 11:52 pm (UTC)(link)
Это пример из любой книжки/туториала по хаскелю.(metaclass: в Душкине был в самом начале) А вообще, вопрос как это дело оптимизируется очень интересен.

[identity profile] metaclass.livejournal.com 2007-12-15 01:00 am (UTC)(link)
Угу, кажеццо был. Только когда я книгу первый раз читал, у меня еще крыша недостаточно поехала, чтобы такие конструкции осознавать. А сейчас я узреваю в ней великую мощь, которую можно обрушить на несчастные головы ИТ служб клиентов :)

[identity profile] x-a-e-p.livejournal.com 2007-12-15 01:08 am (UTC)(link)
Так наоборот, такая конструкция должна восприниматься на ура непоехавшей крышей с математическим складом ума :)