metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-09-14 08:17 am

Хаскельное

http://vit-r.livejournal.com/679524.html?thread=3691364#t3691364
решили на прошлой работе трое таки попробовать Хаскель, для неспешной задачи. генерация DDL, DML c скриптами SQL. Бились, бились, - но сделали, и был восторг! Потом, затянула обычная работа, через месяцок нужно было добавить кое-чего... и никто из троих не смог понять как оно работает, и как же добавить.

Звучит похоже на правду. Хотя у меня и F# и Clojure в подобных задачах живут и развиваются без проблем.

[identity profile] thesz.livejournal.com 2013-09-17 12:42 pm (UTC)(link)
Expression trees весьма ограниченный инструмент, хотя и полезность его нельзя отрицать. На одних expression trees я довольно быстро сваял подобие LINQ для некоей гиперграфовой БД (с преобразованием запросов а-ля LINQ в текст запросов к сей БД).

Если бы была возможность преобразовывать тела функций с циклами for и тому подобного, это был бы номер. Тогда можно было бы делать совершенно удивительные вещи, типа кода с циклами, компилирующегося в код над OpenCL. Или делать триггеры для тех же БД.

[identity profile] jakobz.livejournal.com 2013-09-17 12:53 pm (UTC)(link)
>возможность преобразовывать тела функций с циклами for и тому подобного
В F# есть такое: http://msdn.microsoft.com/en-us/library/dd233182.aspx

В C# есть надежда на "Roslyn" - они собираются выкатить API к компилятору, с возможностью использовать его куски, или втыкаться в середину: http://msdn.microsoft.com/en-us/vstudio/roslyn.aspx