metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-02-07 10:33 am

человеческий злоязык

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

[identity profile] nivanych.livejournal.com 2010-02-07 10:50 am (UTC)(link)
Ну, ващета они уже есть.
Да и на Template Haskell очень много можно делать.

[identity profile] rssh.livejournal.com 2010-02-07 10:57 am (UTC)(link)
В столь нелюбимой вами Java уже лет 5 как ;)

[identity profile] ennor.livejournal.com 2010-02-07 12:23 pm (UTC)(link)
Эмм, база проектируется на коленке, что ли? :) В том же Sybase PowerDesigner схема изумительно сочетается с ее описанием.
А еще он умеет сам генерить HTML-репорты по своим моделям, для изучения которых прога не нужна, достаточно браузера.

Глянь, рекомендую. Вкусная штука, хотя код в ней писать удовольствие сомнительное.

[identity profile] gds.livejournal.com 2010-02-07 04:16 pm (UTC)(link)
не обязательно представлять это в виде системы типов. Конечно, оно должно быть compile-time, но его предназначением должно быть не только ограничение множества значений, принимаемых "переменными" (для чего и нужна типизация), но и способ из одного полного описания сгенерировать много разных вещей. То есть, если доверять этой преобразовалке, то и типизация не нужна.

Нижеописанный подход ни в коем случае не рекомендую, но опишу его на всякий случай. Для кое-чего похожего я буду делать таким образом: имея одинаковый код (s-выражения), буду подставлять им разное окружение, в результате чего код будет вычисляться в то, что мне нужно. А нужно мне сейчас, например, 1. проверка семантики (s-выражениями можно описать всё, но не все выражения будут валидными), 2. преобразование в нужный формат (пока -- тупой хтмл).

[identity profile] smalgin.livejournal.com 2010-02-07 04:23 pm (UTC)(link)
мыкрософт тихенько продвигает M (Oslo/Dublin) типо entity framework.