metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-07 11:15 am

О вычислениях на системах типов

Почему-то использование систем типов для всяких извращений, типа "расчеты на с++ шаблонах" или там HList или SYB в хаскеле меня бесит. Код получается выглядящим весьма странно и малочитабельно. Предположительно, метапрограммирование типа TemplateHaskell выглядело бы понятнее и логичнее - вместо вычислений на безумных свойствах систем типов используются обычные вычисления на самом языке.

[identity profile] potan.livejournal.com 2009-12-07 10:46 am (UTC)(link)
Scheme и прочие лиспы.
Или OCaml, хотя он и без шаблонов местами страшновато смотрится.

[identity profile] antilamer.livejournal.com 2009-12-07 11:08 am (UTC)(link)
С приходом type families извращений стало гораздо меньше.

[identity profile] nivanych.livejournal.com 2009-12-07 02:03 pm (UTC)(link)
Зависимые типы, можно сказать,
для того и нужны, чтобы сделать
вычисления на типах простым и наглядным.

[identity profile] nivanych.livejournal.com 2009-12-07 02:05 pm (UTC)(link)
Ну, строго говоря, это не совсем так,
но для порядков > 1 годится.

[identity profile] udpn.livejournal.com 2009-12-07 07:19 pm (UTC)(link)
Метакласс, не воруй идеи. Я уже разрабатываю =)

Кстати говоря, если воспользоваться этим утверждением как парадигмой программирования, из него вытекает множество весьма забавных свойств языка.

Самое опасное место — не переборщить со степенями свободы. Чрезмерная синтаксическая или семантическая свобода приводит к совершенно нечитаемому коду.

[identity profile] metaclass.livejournal.com 2009-12-08 11:04 pm (UTC)(link)
У меня есть жуткое подозрение, что украсть идею, сформулированную на хаскеле, невозможно.

[identity profile] lionet.livejournal.com 2009-12-07 07:32 pm (UTC)(link)
SYB — это не извращение с системой типов. Это работа языком с предопределённой парой Typeclass'ов. Никаких извращений.

[identity profile] udpn.livejournal.com 2009-12-07 09:26 pm (UTC)(link)
Как сказала бы мама Шелдона, "и это только твоё мнение".